linux批处理多个文件中的相同字段
可以用sed命令:
格式:sed -i ‘s/查找字段/替换字段/g’ (`grep 查找字段 -rl 路径`)/(文件名)
例:把当前目录下文件a与b中的zzz替换为ccc,输入:
sed -i 's/zzz/ccc/g' a.txt b.txt
把/usr/include目录及其子目录下的所有文件中的zzz替换为ccc,输入
sed -i 's/zzz/ccc/g' `grep zzz -rl /usr/include`
当替换或查找的字段中含有/和“等特殊字符时,要用转义符\修饰,如:
把/usr/include目录及其子目录下的所有文件中的“boost/tr1/gcc.hpp”
替换为"/src/gcc.hpp
,输入:
sed -i 's/boost\/tr1\/gcc.hpp/\/src\/gcc.hpp/g' `grep boost\/tr1\/gcc.hpp -rl /usr/include`
其中,
-i 表示inplace edit,就地修改文件
-r 表示搜索子目录
-l 表示输出匹配的文件名
s表示替换,d表示删除
参考:https://blog.csdn.net/qq_21101587/article/details/81203767