Vij*_*jay 44
有很多方法.但其中一个答案是:
find . -name '*.html' |xargs perl -pi -e 's/find/replace/g'
Run Code Online (Sandbox Code Playgroud)
Sta*_*tan 25
像Zombie解决方案(我假设更快)但是使用sed(许多发行版和OSX上的标准)而不是Perl:
find . -name '*.py' | xargs sed -i .bak 's/foo/bar/g'
Run Code Online (Sandbox Code Playgroud)
这将替换所有富 OCCURENCES在当前目录下的Python文件栏以及与每个文件创建备份.py.bak扩展.
并删除de .bak文件:
find . -name "*.bak" -delete
Run Code Online (Sandbox Code Playgroud)
我总是用ed脚本或ex脚本做到这一点.
for i in "$@"; do ex - "$i" << 'eof'; done
%s/old/new/
x
eof
Run Code Online (Sandbox Code Playgroud)
该前命令只是:从六行模式.
使用带有名称或带有空格的目录的 find 和 sed 使用此:
find . -name '*.py' -print0 | xargs -0 sed -i 's/foo/bar/g'
Run Code Online (Sandbox Code Playgroud)