Linux的awk学习

awk命令:

awk [option] 'pattern[action]' file 
    [option]为可选项参数
    pattern为模式
    [action]为执行动作,一般有print和printf
    file则为文件

awk的内置变量:
    $n    指定分隔符(如$1指的是第一个字段,$2指的是第二个字段,$NF则是最后一个字段)
    $0    默认指的是全文
    FS    字段分割符,默认为空格
    NF    分割后,当前行有多少个字段
    NR    当前记录行数

awk的内置函数学习:

[root@ths /]# sed -n '1,5p' lianxin | awk -F ':' '{print $1,$2,$NF}'  
root x /bin/bash
bin x /sbin/nologin
daemon x /sbin/nologin
adm x /sbin/nologin
lp x /sbin/nologin
#首先打印出lianxin的前五行,使用awk罗列出第一,第二和最后一列(区别的分割符为:)

[root@ths /]# sed -n '1,5p' lianxin | awk -F ':' '{print $NF,$1}'          
/bin/bash root
/sbin/nologin bin
/sbin/nologin daemon
/sbin/nologin adm
/sbin/nologin lp
#需要注意的是awk的文本处理是根据$的排序进行打印输出的

[root@ths /]# sed -n '1,5p' lianxin | awk -F ':' '{print "最后一列",$NF,"第一列",$1}'    
最后一列 /bin/bash 第一列 root
最后一列 /sbin/nologin 第一列 bin
最后一列 /sbin/nologin 第一列 daemon
最后一列 /sbin/nologin 第一列 adm
最后一列 /sbin/nologin 第一列 lp
#也可以在$输出前加上相关的参数说明(需要注意的是,在内层增加参数需要使用"")

[root@ths /]# sed -n '1,5p' lianxin | awk -F ':' '{print "第一列",$1,"倒数第二列",$(NF-1)}'      
第一列 root 倒数第二列 /root
第一列 bin 倒数第二列 /bin
第一列 daemon 倒数第二列 /sbin
第一列 adm 倒数第二列 /var/adm
第一列 lp 倒数第二列 /var/sp
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值