您的当前位置:首页 --> CentOS入门
Centos下批量替换文件中的内容
浏览次数:5061 关键词 ( 批量  文件  内容  Centos  )

对于单个文件,使用sed命令很容易做到。如果需要替换某个指定文件夹下所有文件,借助grep和sed组合成一条命令也可以轻松搞定。grep命令可以查找单个文件或文件夹下文件中的内容,使用参数“r”或“-R”可以递归查找指定文件夹下的所有文件;参数“l”可以让grep输出包含指定字符串的文件名,首次匹配成功后立刻停止对同文件的查询。如果不使用“l“,grep查询单个文件时输出文件中所有包含指定字符串的行,对文件夹查询时则按照“文件名:包含字符串行”的方式输出。

有了上面提到的知识,执行批量替换的命令可以写为:

grep "netingcn" -rl /assign-path | xargs sed -i 's/netingcn/www\.netingcn/g' 
或
sed -i 's/netingcn/www\.netingcn/g' `grep "netingcn" -rl /assign-path`

还有一种比较复杂的写法:

grep "netingcn" * -R | awk -F: '{print $1}'  | sort | uniq | xargs sed -i 's/netingcn/www\.netingcn/g'

其中命令awk用于分割字符串、uniq对结果进行除重。


下一条 centos系统中网络配置相关
上一条 vim 分屏操作命令

数千企业与站长的选择,7*24小时稳定运行

 了解更多套餐详细