Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/bash/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 使用sed的命令错误,在更多文件夹中,与grep一起列出_Php_Bash_Vim_Sed - Fatal编程技术网

Php 使用sed的命令错误,在更多文件夹中,与grep一起列出

Php 使用sed的命令错误,在更多文件夹中,与grep一起列出,php,bash,vim,sed,Php,Bash,Vim,Sed,这里是我用PHP进行重构的脚本。我已经创建了一个在vim中工作的命令,但只在文件夹中工作 !for i in `grep -Rl OldName foldername/`; do sed -i 's/OldName/NewName/g' $i; done; 我在这里要问的是这个脚本的更新,它允许我用一个命令在更多文件夹中运行sed。我试过这个: !for i in `grep -Rl OldName .{a,b,c}/`; do sed -i 's/OldName/NewName/g' $i;

这里是我用PHP进行重构的脚本。我已经创建了一个在vim中工作的命令,但只在文件夹中工作

!for i in `grep -Rl OldName foldername/`; do sed -i 's/OldName/NewName/g' $i; done;
我在这里要问的是这个脚本的更新,它允许我用一个命令在更多文件夹中运行sed。我试过这个:

!for i in `grep -Rl OldName .{a,b,c}/`; do sed -i 's/OldName/NewName/g' $i; done;

但这不起作用。有人能给我建议解决方法吗?

你可以像这样使用
find
sed

find {src,test,scripts} -type f -exec sed -i 's/OldName/NewName/g' {} +

find
命令将在当前目录中查找文件夹
src、test、scripts
中的所有文件,并且
sed
将执行内联替换。

您可以像这样使用
find
sed

find {src,test,scripts} -type f -exec sed -i 's/OldName/NewName/g' {} +
for i in $(grep -Rl OldName src/ test/ scripts/); do sed -i 's/OldName/NewName/g' "$i" ; done;

find
命令将在当前目录中查找文件夹
src、test、scripts
中的所有文件,并且
sed
将执行内联替换。

您可以像这样使用
find
sed

find {src,test,scripts} -type f -exec sed -i 's/OldName/NewName/g' {} +
for i in $(grep -Rl OldName src/ test/ scripts/); do sed -i 's/OldName/NewName/g' "$i" ; done;

find
命令将在当前目录中查找文件夹
src、test、scripts
中的所有文件,并且
sed
将执行内联替换。

您可以像这样使用
find
sed

find {src,test,scripts} -type f -exec sed -i 's/OldName/NewName/g' {} +
for i in $(grep -Rl OldName src/ test/ scripts/); do sed -i 's/OldName/NewName/g' "$i" ; done;
find
命令将在当前目录中查找文件夹
src、test、scripts
中的所有文件,并且
sed
将执行内联替换

for i in $(grep -Rl OldName src/ test/ scripts/); do sed -i 's/OldName/NewName/g' "$i" ; done;
您可以提供要搜索的目录列表,如上所示。比如
src/
test/
scripts/

您可以提供要搜索的目录列表,如上所示。比如
src/
test/
scripts/

您可以提供要搜索的目录列表,如上所示。比如
src/
test/
scripts/


您可以提供要搜索的目录列表,如上所示。比如
src/
test/
scripts/

文件夹包括
src
test
脚本
。是否可以为此修复regexp?{}表示find命令找到的reach文件,+是exec命令的分隔符。另请检查
man find
以了解更多详细信息文件夹包括
src
test
脚本。是否可以为此修复regexp?{}表示find命令找到的reach文件,+是exec命令的分隔符。另请检查
man find
以了解更多详细信息文件夹包括
src
test
脚本。是否可以为此修复regexp?{}表示find命令找到的reach文件,+是exec命令的分隔符。另请检查
man find
以了解更多详细信息文件夹包括
src
test
脚本。是否可以为此修复regexp?{}表示find命令找到的reach文件,+是exec命令的分隔符。有关更多详细信息,请查看
man find