Php 使用sed的命令错误,在更多文件夹中,与grep一起列出
这里是我用PHP进行重构的脚本。我已经创建了一个在vim中工作的命令,但只在文件夹中工作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;
!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