如何查找和替換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