shell subsitute替换分割符

发布时间 2023-07-19 10:09:22作者: sinferwu

 

 

sed '/keyword/!d; s/keyword/replacement1/g; s/another_keyword/replacement2/g' example.txt
sed '/keyword/!d; s#keyword#replacement1#g; s#another_keyword#replacement2#g' example.txt

 

这个命令将执行以下操作:

  • /keyword/!d 是逻辑操作符,! 表示否定。!d 表示如果行不匹配关键字,则删除该行。
  • s/keyword/replacement1/g 是替换命令,将行中的所有"keyword"替换为"replacement1"。
  • s/another_keyword/replacement2/g 是另一个替换命令,将行中的所有"another_keyword"替换为"replacement2"。

这个命令将只输出包含关键字并经过两次替换后的结果行,并删除其他行。

请将 example.txt 替换为你实际使用的文件名,并根据需要修改替换命令及关键字。

 

这个命令中的操作依次执行:

  • /keyword/!d 是逻辑操作符,! 表示匹配不成功,d 表示删除。所以这个命令会删除不包含关键字的行。
  • s#keyword#replacement1#g 是替换命令,将行中的所有出现的"keyword"替换为"replacement1"。
  • s#another_keyword#replacement2#g 是另一个替换命令,将行中的所有出现的"another_keyword"替换为"replacement2"。

这个命令将只输出包含关键字并经过两次替换后的结果行