Linux下使用命令进行搜索和替换的指令很多,记录常用的三种:
1. 使用find+grep+sed命令进行查找和替换
查找当前目录下所有以txt文件中包含ABCD的数字都替换成EFGH
find ./ -name "*.txt" -exec grep "ABCD" {} \; -exec sed -i 's/ABCD/EFGH/g' {} \;
2. 使用find和sed进行查找和替换
替换当前路径下.txt文件中的ABCD,替换为EFGH:
find ./ -name *.txt | xargs sed -i 's/ABCD/EFGH/g'
3. 使用sed和grep进行查找和替换
将当前目录下所有文件中的"ABCD"字符串替换成"EFGH"(搜索满足文件再操作)
sed -i "s/ABCD/EFGH/g" `grep "ABCD" -rl ./`