如何在Linux中的多个文件中替换特定术语?
例如,我的目录中有许多文件:
file1.txt file2.txt file3.txt
我需要找到一个单词“ searchword”并将其替换为“ replaceword”。
sed -i.bak 's/searchword/replaceword/g' file*.txt # Or sed -i.bak '/searchword/s/searchword/replaceword/g' file*.txt
使用bash 4.0,您可以递归搜索文件
#!/bin/bash shopt -s globstar for file in **/file*.txt do sed -i.bak 's/searchword/replaceword/g' $file # or sed -i.bak '/searchword/s/searchword/replaceword/g' $file done
或与GNU查找
find /path -type f -iname "file*.txt" -exec sed -i.bak 's/searchword/replace/g' "{}" +;