加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > Linux > 正文

Linux三剑客——awk命令

发布时间:2020-12-14 01:38:44 所属栏目:Linux 来源:网络整理
导读:awk命令 awk命令用于Linux下的文本处理。数据可以来自文件或标准输入,支持正则表达式等功能,是Linux下强大的文本处理工具。 示例 #$1与$3相连输出,不分隔[[email?protected] ~]# awk -F ":" ‘{print $1 $3}‘ /etc/passwd #多了一个逗号,$1与$3使用空格
awk命令
  1. awk命令用于Linux下的文本处理。数据可以来自文件或标准输入,支持正则表达式等功能,是Linux下强大的文本处理工具。

    示例

    #$1与$3相连输出,不分隔
    [[email?protected] ~]# awk -F ":" ‘{print $1 $3}‘ /etc/passwd 
    #多了一个逗号,$1与$3使用空格分隔
    [[email?protected] ~]# awk -F ":" ‘{print $1,$3}‘ /etc/passwd 
    #显示每行有多少字段
    [[email?protected] ~]# awk -F: ‘{print NF}‘ /etc/passwd  
    #将每行第NF个字段的值打印出来
    [[email?protected] ~]# awk -F: ‘{print $NF}‘ /etc/passwd  
    #依次打印行号,字段数,最后字段值,制表符,每行内容
    [[email?protected] ~]# awk -F: ‘{print NR,NF,$NF,"t",$0}‘ /etc/passwd
    #显示第5行
    [[email?protected] ~]# awk -F: ‘NR==5{print}‘ /etc/passwd
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    显示第5行和第6行
    [[email?protected] ~]# awk -F: ‘NR==5 || NR==6{print}‘ /etc/passwd     
    lp:x:4:7:lp:/var/spool/lpd:/sbin/nologin
    sync:x:5:0:sync:/sbin:/bin/sync
    #纯字符匹配
    [[email?protected] ~]# awk ‘/mysql/‘ /etc/passwd
    mysql:x:27:27:MySQL Server:/var/lib/mysql:/sbin/nologin
    #不匹配mysql的行
    [[email?protected] ~]# awk ‘!/mysql/‘ /etc/passwd
    #匹配区间
    [[email?protected] ~]# awk -F: ‘/mail/,/mysql/{print}‘ /etc/passwd
    #匹配包含27为数字开头的行,如27,277,2777...
    [[email?protected] ~]# awk -F: ‘/[2][7][7]*/{print $0}‘ /etc/passwd
    #匹配指定内容才显示
    [[email?protected] ~]# awk -F: ‘$1~/mail/{print $1}‘ /etc/passwd
    mail

    参数说明

    -F指定分隔符//匹配代码块!//纯字符不匹配~//字段值匹配!~//字段值不匹配~/a1|a2/字段值匹配a1或a2 条件表达式 == != > >= 逻辑运算符 && ||

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读