sed 常见用例总结

sed 发行于1974年,作者 Lee E. McMahon。awk发行于1977年,作者 阿尔佛雷德·艾侯、彼得·温伯格以及布莱恩·柯林汉。

——源自维基百科

  • 文件最后追加

    1
    sed '$ a\00 08 * * * /sbin/clock -w >/dev/null 2>&1' /var/spool/cron/root
  • 输出满足正则的记录

    1
    sed -n '/正则表达式/p' /var/spool/cron/root
  • 删除满足正则的记录

    1
    sed -i '/正则表达式/d' /var/spool/cron/root
  • sed删除多行

    1
    2
    3
    sed -i '/START/,/END/d' /etc/rsyncd.conf
    eg:
    sed -i '/\[root\]\s*/,/\s*hosts\s*allow\s*=\s*10.0.0.0\/8\s*192.168.0.0\/16\s*/d' rsyncd.conf
  • 将所有数字版本号统一

    • sed正则中{}()需要加转义,[]则不用
1
find /data/daemon/conf/ -name "*.yaml" -type f |xargs grep -irl "version:v" |xargs sed -i 's/version:v[0-9]\{1\}/version:v9/g'
  • 将软件版本号去掉
    1
    rpm -qa |grep someone|sed 's/\([0-9]\|\.\|_\|-\)\+\.el.\+\(.x86_64\|.noarch\)/\2/g'

参考文档

冷月无声 wechat
关注也是一种力量
-------------End of article. I appreciate whoever read and leave commends on articles.-------------

本文标题:sed 常见用例总结

文章作者:冷月无声

发布时间:2018年09月08日 - 21:09

最后更新:2018年09月14日 - 14:09

原始链接:https://www.lengyuewusheng.com/2018/09/08/00050_sed常见用例总结/

许可协议:本博客所有文章除特别声明外,均采用 BY-NC-SA 3.0许可协议。转载请注明出处!

感谢鼓励!