awk

awk 是一个强大的linux命令 有强大的文本格式化能力,好比将一些文本数据格式化成专业的excel表的样式

 awk语法

 

awk "{print $2}" zzz.txt  #第二行  

awk默认以空格为分隔符,且多个空格也识别为一个空格,作为分隔符

awk是按行处理文件,一行处理完毕,处理下一行,根据用户指定的分隔符去工作,没有指定则默认空格 

指定了分隔符后,awk把每一行切割后的数据对应到内置变量

$0表示整行

$NF表示当前分割后的最后一列

倒数第二六可以写成$(NF-1)

 

awk '{print $1,$2,$3}' zzz.txt #获取1,2,3行内容

 

 

 

awk '{print "第一列:"$1,"第二列:"$2}' zzz.txt  #自定义输出 

awk 'NR==5' pwd.txt  # 查看第五行

 awk 'NR==1,NR==5' pwd.txt #查看地1-——————第5行

awk '{print NR,$0}' pwd.txt #NR等于行号   加上行号

awk '{print $(NF-1)}' zzz.txt #倒数第二行的内容

awk '{print $(NF)}' zzz.txt #最后一行的内容

ifconfig eth0 | awk 'NR==2{print $2}' #awk  输出ip

awk的分隔符有两种

输入分隔符,awk默认是空格,空白字符,英文是Field separator,变量名是FS

输出分隔符,output field separator, 简称OFS

 

awk -F ':'  '{print $1}' /etc/passwd #输出passwd 文件中的用户名  -F 分隔符

 

 

 

 awk -v name="周杰伦" 'BEGIN{print "我的名 字是?",name}'

 

 

 

 

 

 awk -F':'  '/^lsg/{print $1,$NF}' passwd #这个文件第一列和最后一列的内容

awk  '/nologin$/{print NR, $0}' passwd #找出nologin 结尾的 带行号  

 

 

 

posted on 2021-05-10 19:05  sprr  阅读(132)  评论(0编辑  收藏  举报