sed使用详解
发布日期:2021-08-10 12:42:08 浏览次数:6 分类:技术文章

本文共 1463 字,大约阅读时间需要 4 分钟。

sed :Stream EDitor(流编辑器)

sed :模式空间(默认不编辑源文件,仅对模式空间中数据做处理)

sed [options] 'AddressCommand' file ...

  -n: 静默模式,不再默认显示模式空间中的内容
  -i: 直接修改原文件
  -e SCRIPT -e SCRIPT:可以同时执行多个脚本
  -f /PATH/TO/SED_SCRIPT
    sed -f /path/to/scripts file
  -r: 表示使用扩展正则表达式

Address:

  (1)StartLine,EndLine
    比如1,100
    $:最后一行
  (2)/RegExp/
    /^root/
  (3)/pattern1/,/pattern2/
    第一次被pattern1匹配到的行开始,至第一次被pattern2匹配到的行结束,这中间的所有行
  (4)LineNumber
    指定的行
  (5)StartLine, +N
    从startLine开始,向后的N行;
Command:
  d: 删除符合条件的行;
  p: 显示符合条件的行;
  a \string: 在指定的行后面追加新行,内容为string
  \n:可以用于换行
  i \string: 在指定的行前面添加新行,内容为string
  r FILE: 将指定的文件的内容添加至符合条件的行处
  w FILE: 将地址指定的范围内的行另存至指定的文件中;
  s/pattern/string/修饰符: 查找并替换,默认只替换每行中第一次被模式匹配到的字符串
  加修饰符
    g: 全局替换
    i: 忽略字符大小写
  s///: s###, s@@@
    \(\), \1, \2
  &: 引用模式匹配整个串

sed练习:

  1、删除/etc/grub.conf文件中行首的空白符;
    sed -r 's@^[[:spapce:]]+@@g' /etc/grub.conf
  2、替换/etc/inittab文件中"id:3:initdefault:"一行中的数字为5;
    sed 's@\(id:\)[0-9]\(:initdefault:\)@\15\2@g' /etc/inittab
  3、删除/etc/inittab文件中的空白行;
    sed '/^$/d' /etc/inittab
  4、删除/etc/inittab文件中开头的#号;
    sed 's@^#@@g' /etc/inittab
  5、删除某文件中开头的#号及后面的空白字符,但要求#号后面必须有空白字符;
    sed -r 's@^#[[:space:]]+@@g' /etc/inittab
  6、删除某文件中以空白字符后面跟#类的行中的开头的空白字符及#
    sed -r 's@^[[:space:]]+#@@g' /etc/inittab
  7、取出一个文件路径的目录名称;
    echo "/etc/rc.d/" | sed -r 's@^(/.*/)[^/]+/?@\1@g'
    基名:
    echo "/etc/rc.d/" | sed -r 's@^/.*/([^/]+)/?@\1@g'

转载于:https://www.cnblogs.com/riordon/p/3991675.html

转载地址:https://blog.csdn.net/weixin_30588729/article/details/97879929 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:[转] gitlab 的 CI/CD 配置管理
下一篇:iOS支付(转)

发表评论

最新留言

逛到本站,mark一下
[***.202.152.39]2024年05月01日 00时01分01秒

关于作者

    喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!

推荐文章

H.264/AVC 的各大主流编解码器 2019-04-30
【H264/AVC 句法和语义详解】(一):句法元素分层结构 2019-04-30
【H.264/AVC 句法和语义详解】(二):h264码流格式与NALU详解一 2019-04-30
【H264/AVC 句法和语义详解】(三):NALU详解二(EBSP、RBSP与SODB) 2019-04-30
【H264/AVC 句法和语义详解】(四):通过学习"描述子"实现码流解析的第一步 2019-04-30
【H264/AVC 句法和语义详解】(五):Exp-Golomb指数哥伦布编码(理论篇) 2019-04-30
【H264/AVC 句法和语义详解】(六):C语言实现Exp-Golomb指数哥伦布编码(编码篇) 2019-04-30
【H264/AVC 句法和语义详解】(七):C语言实现Exp-Golomb指数哥伦布编码(解码篇) 2019-04-30
【H264/AVC 句法和语义详解】(八):序列参数集SPS句法和语义 2019-04-30
【H.264/AVC 句法和语义详解】(九):图像参数集PPS句法和语义 2019-04-30
【H.264/AVC 句法和语义详解】(十):最简单的H264编解码器 2019-04-30
【H.264/AVC 句法和语义详解】(十一):Slice_Header的句法和语义 2019-04-30
【H.264/AVC 句法和语义详解】(十二):H264中的帧场编码模式详解 2019-04-30
【从零实现一个H.264码流解析器】(一):从码流中找到NALU 2019-04-30
PHP XML转数组 2019-04-30
PHP CURL请求 2019-04-30
关于那些加密解密的PHP方法--Star.hou 2019-04-30
elasticsearch PHP安装、使用 2019-04-30
Laravel命令行创建控制器、模型、脚本 2019-04-30
Python&NotePad++开发环境 2019-04-30