sed常用模板整理

sed可以按照指令或脚本编辑文本的linux工具,文本处理功能非常强大,本文总结一些工作中常用的sed模板,方便大家使用

替换

1. 替换文件中所有的 aaa 到 bbb

sed -i 's/aaa/bbb/g' /path/to/file

2. 找到文件的修改日期

stat deploy | sed -n '/^Modify.*/p' # 找到
stat deploy | sed -n '/^Modify.*/p' | grep -Eo "....-..-.. ..:..:.." # 提取出修改起义

2. 找到 aaa 参数,并设置为off

sed -i '/^aaa/s/on/off/' /path/to/file

可以配合grep使用,完成自动设置参数

have_aaa=$(grep aaa /path/to/file | sed '/^#.*/d') # 寻找是否以存在aaa参数
if [ ! -z $have_aaa ];then # 如果存在
    sed -i '/^aaa/s/on/off/' /path/to/file # 则修改为off
else  # 如果不存在
    sed -i '/ccc/a aaa off' /path/to/file # 则在ccc参数下新增 aaa off
    # sed -i '$a/aaa off' /path/to/file  # 则在最后新增 aaa off
fi

滤掉所有注释行

cat /etc/my.cnf | sed '/^#.*/d'

找到并删除

找到包含aaa的行并删除

sed -i '/aaa/d' /path/to/file

插入追加

  • a/ 在当前行下面插入;
  • i/ 在当前行上面插入;
  • c/ 把当前行改为新的;

在ccc开头的行下面插入 something

sed -i '/^ccc/a something' /path/to/file

在ccc开头的行后追加 something

sed -i '/^ccc/s/$/something/' /path/to/file

在ccc后紧接着追加something

sed -i 's/ccc/&something/' /path/to/file
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文链接:sed命令_Linux sed 命令用法详解:功能强大的流式文本编辑器 http://man.linu...
    e2ae5d4bd7c1阅读 815评论 0 1
  • sed是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的...
    ChinaLeee阅读 350评论 0 0
  • sed是一种流编辑器,它是文本处理中非常好的工具,能够完美的配合正则表达式使用,功能不同凡响。处理时,把当前处理的...
    Summer_1981阅读 692评论 0 1
  • 行前或行后插入 sed 'p;s/^.*$/--------/' file awk '{print $0;prin...
    不排版阅读 542评论 0 0
  • 这篇是当初看完Chinaunix论坛的帖子“抛砖引玉----翻译加注sed1line”的笔记,最近无聊从Evern...
    magic5650阅读 1,188评论 0 4