三剑客grep、awk、sed;第三篇章主讲sed

文本处理篇

本章节写的是文本处理,文本处理就是对想要查询的信息进行筛选过滤整合为目的,这些的查询命令对后续的脚本编写起到非常关键的作用…sed 是一种流编辑器,它是文本处理中非常中的工具,能够完美的配合正则表达式使用。Sed主要用来自动重点内容编辑一个或多个文件;简化对文件的反复操作;编写转换程序等功能十分的强大,结合起正则表达式使用的话效果更为明显,效率更加高效 …


- “三剑客” 信息收索处理(grep、awk、sed)

  • sed 标准语法
    sed [-选项] ‘ [定界/条件] {[动作] / 模式匹配空间 / [动作补充]} 操作对象 ’ -e ‘脚本2’ -e ‘脚本
-n  静默模式,在打印处理时,不输出模式空间中的内容,一般用于打印模式; 
-e  指定在一个 sed 命令中使用多个script;
 ;  分号  多条动作依次执行    
-i  直接修改原文件;  ## 谨慎使用,确保sed 表达式没有问题之后,再来修改源文件

-n 察看 /etc/passwd 头部是root ,打印

[root@deng-120 /order]# sed -n '/^root/{p}' /etc/passwd
root:x:0:0:root:/root:/bin/bash

-e 察看 /etc/passwd 第1到3行和第8行,打印

[root@deng-120 ~]# sed -n -e '1,3{p}' -e '8{p}'  /etc/passwd
root:x:0:0:root:/root:/bin/bash
bin:x:1:1:bin:/bin:/sbin/nologin
daemon:x:2:2:daemon:/sbin:/sbin/nologin
halt:x:7:0:halt:/sbin:/sbin/halt

-i 把 /test/passwd 开头是 root 全部换成 abc ,换了后察看

[root@deng-120 ~]# sed -i '{s/^root/abc/g}' /test/passwd 
[root@deng-120 ~]# cat /test/passwd 
abc:x:0:0:root:/root:/bin/bash
  • sed 常用编辑命令/动作
p  打印模板块的行
d  删除,删除选择的行
D  删除模板块的第一行
a\ 在当前行下面插入文本
i\ 在当前行上面插入文本
s  替换指定字符;只替换第一个匹配的结果
w  file 写并追加模板块到file末尾
i  忽略大小写
g  全局替换,不加的话
y  使用分组替换形式,完成字符转换 
&  引用被替换的字符

p 打印 /etc/passwd 开头是 root 的内容行

[root@deng-120 ~]# sed -n '/^root/{p}' /etc/passwd
root:x:0:0:root:/root:/bin/bash

sg 全部替换 /test/passwd 指定字符 “sbin” 换成 “abc”,打印

[root@deng-120 ~]# sed -i '/.*sbin/{s/sbin/abc/g}' /test/passwd 
[root@deng-120 ~]# cat /test/passwd 
bin:x:1:1:bin:/bin:/abc/nologin
daemon:x:2:2:daemon:/abc:/abc/nologin
adm:x:3:4:adm:/var/adm:/abc/nologin
lp:x:4:7:lp:/var/spool/lpd:/abc/nologin

y 替换 /test/passwd 1到10行的 “abc” 换成 “123”

[root@deng-120 ~]# sed  '1,10y/abc/123/' /test/passwd 
root:x:0:0:root:/root:/2in/21sh
2in:x:1:1:2in:/2in:/123/nologin
d1emon:x:2:2:d1emon:/123:/123/nologin
1dm:x:3:4:1dm:/v1r/1dm:/123/nologin

& 替换 /test/passwd 在 “root” 后面加上 “123”

[root@deng-120 ~]# sed -n 's/root/&123/gp' /etc/passwd
root123:x:0:0:root123:/root123:/bin/bash
operator:x:11:0:operator:/root123:/sbin/nologin

sed 的内容主要结合正则表达式的使用,sed 的使用主要结合在脚本里面。

猜你喜欢

转载自blog.csdn.net/weixin_42867972/article/details/81627844
今日推荐