sed awk

1sed是行编辑器

1.sed命令的操作符
s:替换,替换指定字符。 
d:删除,删除选定的行。
a:增加,在当前行下面增加一行指定内容。
i:插入,在选定行上面插入一行指定内容。(即时生效)
c:替换,将选定行替换为指定内容。
y:字符转换,转换前后的字符长度必须相同。
p:打印,如果同时指定行,表示打印指定行;如果不指定行,则表示打印所有内容;如果有非打印字符,则以 ASCII 码输出。其通常与“-n”选项一起使用。
=:打印行号。
l(小写L):打印数据流中的文本和不可打印的ASCII字符(比如结束符$、制表符\t)
r:高级正则表达式


sed最为核心的功能是增删改查

2.sed的打印
方式一:按照行号寻求内容
[root@localhost sed]#sed -n ‘1p’ test1.txt --打印第一行
[root@localhost sed]#sed -n ‘4p’ test1.txt --打印第四行
[root@localhost sed]#sed -n ‘KaTeX parse error: Expected 'EOF', got '#' at position 59: …@localhost sed]#̲sed -n '1,3p' t…p’ test1.txt --打印第五行到最后一行
[root@localhost sed]#sed -n ‘2,+2p’ test1.txt —打印第二行+两行的内容,相当于2,4p
方式三:指定间隔打印
[root@localhost sed]#sed -n -e ‘2p’ -e’$p’ test1.txt —打印第二行和最后一行
[root@localhost sed]#sed -n -e ‘2p’ -e’3p’ test1.txt —打印第二行和第三行
方式四:对奇数行和偶数行的打印
[root@localhost sed]#sed -n ‘n;p’ test1.txt —打印偶数的行
[root@localhost sed]#sed -n ‘p;n’ test1.txt —打印奇数的行
n在p前面,跳过一

行,打印下一行,就是偶数行;在后面,就是打印第一行,然后跳过一行,形成奇数行

3.面试题
查看指定时间内的日志:
[root@localhost ~]#sed -n ‘/2023:08:09/,/2023:09:42:37/p’ /var/log/messages #没有内容
[root@localhost network-scripts]# sed -n ‘/Mar 23 21:00:01/,/Mar 23 21:30:01/p’ /var/log/messages #开头的格式要一致
Mar 23 21:00:01 localhost systemd: Started Session 70 of user root.

修改网卡的IP地址
[root@localhost network-scripts]# sed -i ‘/IPADDR=192.168.169.10/c IPADDR=10.10.10.10’ ifcfg-ens33

1.sed命令是一种流编辑器读取文件会进行逐行读取加上指令操作,所以过大的文件一定要拆分后再交给sed处理
2.sed -r 搭配扩展正则表达

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值