当前位置:   article > 正文

shell 脚本匹配一行然后替换整行(全局替换)_shell利用s替换一行

shell利用s替换一行

Backgroud

grepsedawk俗称Linux三剑客
grep常用于字符串搜索功能
sed常用于以行为单位对文本进行处理
awk是更为细粒度的处理,可以指定分隔符将一行(一条记录)划分为多个字段,然后以字段为单位处理文本,几乎可以实现grepsed所能实现的所有功能

实例

  • 有一个文件 logicaltool.sh,我们要替换其中的一行,如下
server_num= ps -ef | grep logical_tool | wc -l
  • 1
  • 整行替换为
server_num= ps -ef | grep logical_tool | grep -v grep | grep -v logicaltool.sh | grep -v vi | grep -v tail | wc -l
  • 1
  • 替换脚本 replace.sh
replacement="server_num= ps -ef | grep logical_tool | grep -v grep | grep -v logicaltool.sh | grep -v vi | grep -v tail | wc -l"
sed -i "/^server_num=*/c$replacement" /home/logicaltool.sh
  • 1
  • 2

实测没有问题

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/205580
推荐阅读
相关标签
  

闽ICP备14008679号