一尘不染

在目录和子目录中查找并替换为sed

linux

我运行以下命令以查找并替换网站根目录中所有文件中所有出现的“ apple”并替换为“ orange”:

find ./ -exec sed -i 's/apple/orange/g' {} \;

但是它不会通过子目录。

此命令有什么问题?

这是输出的一些行find ./

./index.php
./header.php
./fpd
./fpd/font
./fpd/font/desktop.ini
./fpd/font/courier.php
./fpd/font/symbol.php

阅读 240

收藏
2020-06-02

共1个答案

一尘不染

您的发现应该看起来像这样,以避免将目录名称发送到sed:

find ./ -type f -exec sed -i -e 's/apple/orange/g' {} \;
2020-06-02