侧边栏壁纸
博主头像
落叶人生博主等级

走进秋风,寻找秋天的落叶

  • 累计撰写 130562 篇文章
  • 累计创建 28 个标签
  • 累计收到 9 条评论
标签搜索

目 录CONTENT

文章目录

sed工具(二)

2023-11-02 星期四 / 0 评论 / 0 点赞 / 54 阅读 / 2731 字

扩展:sed应用sed指定行范围匹配(sed打印1到10行包含某字符串的行)[root@adai003 grep]# sed -n '1,10 {/oo/p}' test.txtroot:x:0:0:

扩展:sed应用

sed

  • 指定行范围匹配(sed打印1到10行包含某字符串的行)
[root@adai003 grep]# sed -n '1,10 {/oo/p}' test.txtroot:x:0:0:root:/root:/bin/bash3233:x:4:7:lp:/var/spool/lpd:/sbin/nologinmail:x:8:12:mail:/var/spool/mail:/sbin/nologinoperator:x:11:0:operator:/root:/sbin/nologin
  • sed删除某关键字的下一行到最后一行
[root@adai003 grep]# head -n5 test.txtroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin234:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologin3233:x:4:7:lp:/var/spool/lpd:/sbin/nologin[root@adai003 grep]# sed '/daemon/{p; :a; N; $!ba; d}' test.txtroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin234:x:2:2:daemon:/sbin:/sbin/nologin解析:定义一个标签a,匹配c,然后N把下一行加到模式空间里,匹配最后一行时,才退出标签循环,然后命令d,把这个模式空间里的内容全部清除。
  • 匹配打印某关键字符所在行以及下一行
[root@adai003 grep]# sed -n '/daemon/{N;p}' test.txt234:x:2:2:daemon:/sbin:/sbin/nologinadm:x:3:4:adm:/var/adm:/sbin/nologintss:x:59:59:Account used by the trousers package to sandbox the tcsd daemon:/dev/null:/sbin/nologinpostfix:x:89:89::/var/spool/postfix:/sbin/nologin
  • 在某行最后加一指定字符
    (sed在文件中某一行最后添加一个数字)
[root@adai003 grep]# sed 's//(.*nologin.*/)/& 8/' test.txt |head -n3root:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin 8234:x:2:2:daemon:/sbin:/sbin/nologin 8

解析: “.nologin.” 代表nologin所在的行,()是定义其为一个整体。

  • 切换大小写
1、切换单词首字母大小写[root@adai003 grep]# sed 's//b[a-z]//u&/g' test.txt |head -n3Root:X:0:0:Root:/Root:/Bin/BashBin:X:1:1:Bin:/Bin:/Sbin/Nologin234:X:2:2:Daemon:/Sbin:/Sbin/Nologin2、切换所有字母大小写[root@adai003 grep]# sed 's/[a-z]//u&/g' test.txt |head -n3ROOT:X:0:0:ROOT:/ROOT:/BIN/BASHBIN:X:1:1:BIN:/BIN:/SBIN/NOLOGIN234:X:2:2:DAEMON:/SBIN:/SBIN/NOLOGIN

解析: sed中,使用/u表示大写,/l表示小写,/b表示单词首字母

  • 打印文件中特定的某行到某行之间的内容
[root@adai003 grep]# sed -n '/^root/,/daemon/p' test.txtroot:x:0:0:root:/root:/bin/bashbin:x:1:1:bin:/bin:/sbin/nologin234:x:2:2:daemon:/sbin:/sbin/nologin解析:打印以root开头的行和daemon所在行之间的内容。

广告 广告

评论区