linux sed命令替换字符串

Posted wenxuechaozhe

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux sed命令替换字符串相关的知识,希望对你有一定的参考价值。

在linux服务器中,单独文件或批量进行替换文件中某个字符串。

命令格式

sed -i "s/old/new/g" `grep old -rl path`
old是待被替换的字符串,new是待替换old的新字符串,grep操作主要是按照所给的路径查找old,path是所替换文件的路径;
-i选项是直接在文件中替换,不在终端输出,
-r选项是所给的path中的目录递归查找,
-l选项是输出所有匹配到oldstring的文件。

测试文件准备

替换单独文件

例如:替换test01里面的分隔符“,”为“|”,命令如下

sed -i "s/,/|/g" test01.txt

执行结果如下

批量替换文件

例如:替换目录下所有.txt后缀的分隔符“,”为“|”,命令如下(备注:已将测试数据还原)

sed -i "s/,/|/g" `grep "," -rl /home/hadoop/shell/wen/*.txt`

执行结果如下

以上是关于linux sed命令替换字符串的主要内容,如果未能解决你的问题,请参考以下文章

linux sed命令替换特定字符之后的字符

如何用sed命令替换一行中的某个字符串

linux命令之sed

Linux命令之sed-替换字符串

shell :linux sed 批量替换字符串

sed命令在文件中替换、插入