8-21上课笔记

sed与awk相关操作补充

1, 在行尾加上aaa

head /etc/passwd |sed -r 's/(.*)/&:aaa/'

 

 

2,插入行,例如在第二行中插入行

sed -r '1,2s/(.*)/111&/' 1.txt

主要掌握sed –i,加上-i参数之后会修改源文件,特别注意

awk

awk -F ':' 'BEGIN{语句} {if(条件){语句1;语句2;语句3} } END{语句}' filename

$NF代表最后一段

NR第一行打印第一列 第二行打印第二列

 

替换特殊符号

awk -F ':|#|,' '{print $1,$2,$3,$4,$5}' 2.txt

 

 

可以用符号多个分隔符进行分割

以#号分割

 

或者使用OFS也行

 

用awk过滤oo字符

可以同时满足lp的

 

过滤第一段,第三行和第四行相等的

 

过滤出不允许登录的用户名

awk -F ':' '$7=="/sbin/nologin" {print $1}' passwd

 

 

过滤第三段小于1000

awk -F ':' '$3<1000' passwd



$7="/bin/bash" {print $1,$2,$3}' /etc/passwdOFS是连接符

 

NR ,打印前面5行

awk -F ':' 'NR<6 {print $0}' passwd

 

过滤:号,并且以root开头的行

猜你喜欢

转载自blog.csdn.net/weixin_41654660/article/details/81979521
今日推荐