如何查找和替换unix上多个文件的命令行上的字符串?查找并替换命令行上的多个文件
回答
的方法有很多。但其中一个答案是:
find . -name '*.html' |xargs perl -pi -e 's/find/replace/g'
我总是这样做,与编脚本或前的脚本。
for i in "[email protected]"; do ex - "$i" << 'eof'; done
%s/old/new/
x
eof
的前命令仅仅是:从VI线模式。
这具有明显的优势,您可以执行更复杂的编辑。 – alastair 2013-05-13 14:10:54
最近的bash shell,假设你不需要遍历目录
for file in *.txt
do
while read -r line
do
echo ${line//find/replace} > temp
done <"file"
mv temp "$file"
done
像僵尸溶液(快我假设),但sed的(许多发行版和OSX标准),而不是的Perl:
find . -name '*.py' | xargs sed -i .bak 's/foo/bar/g'
这将替换所有富在当前目录下的Python文件 OCCURENCES与酒吧并使用.py.bak扩展名为每个文件创建一个备份。
,并删除德.bak文件:
find . -name "*.bak" -delete
这会影响搜索之外的空白。它似乎在我的每个文件的末尾添加了新行。 – Shane 2013-05-09 17:38:43
每个版本的sed都不支持AFAIK in-place编辑;我认为这是一个GNU扩展。 – alastair 2013-05-13 14:06:13
这是一个GNU扩展,至少在我的版本中它必须是 'sed -i.bak' (没有空格) – friedemann 2014-08-28 16:00:22
使用find和sed用名或目录与空间的使用这样的:
find . -name '*.py' -print0 | xargs -0 sed -i 's/foo/bar/g'
的[查找和替换在多个特定的词
- 1. 在多个文件中查找并替换SSH命令?
- 2. 使用命令查找并替换文件中的文本
- 3. 查找命令行多个文件
- 4. 查找并替换文件夹中的多个文本文件
- 5. 命令行查找和替换
- 6. 多个条件查找并替换
- 7. 如何从* Nix命令行执行多行查找和替换?
- 8. 查找并替换多个文件中的文本
- 9. 查找多个文件中的下一个单词并替换
- 10. 批处理命令查找/替换文件内的文本
- 11. perl从命令行查找并替换。特殊字符?
- 12. 多个命令行参数 - 替换字
- 13. 崇高文本3查找并替换多个文件
- 14. 查找并用sed/awk替换多行?
- 15. 查找并替换多行字符串
- 16. 查找并替换Ruby中的文件
- 17. Android adb shell - 使用命令在文件中查找并替换文本
- 18. Excel - 查找并替换多个单词
- 19. 查找并替换多个值对
- 20. 查找,重命名和替换文件
- 21. 文本查找和替换:执行命令不起作用
- 22. 在多个文件中查找并替换
- 23. 使用shell命令查找并替换一组xml文件中的字符串
- 24. 查找和AWK命令替换
- 25. sed命令查找和替换失败
- 26. Unix命令来搜索文件中的一行并替换它
- 27. 如何使用find命令查找和替换jar文件
- 28. 从文件中查找替换命令是什么?
- 29. 一个sed命令的多个替换
- 30. 查找并替换整个行
可能重复文件](http://stackoverflow.com/questions/2263925/find-and-replace-a-particular-term-in-multiple-files) – Quanlong 2015-06-11 15:35:35