• linux -awk命令


    1、标准格式1是awk -F ':' '//{}' filename

    【解释://里面是正则,{}里面是执行,F是指分隔符,-F "[@ ]",就是以@、 和空格为分隔符,全文暂统一以':'为分隔符】

    例子1:

    1 [root@localhost ~]# awk -F: '/news|sshd/{print $1}' /etc/passwd
    2 news
    3 sshd
    #打印passwd文件中包含news和sshd的行的第一列

    例子2:

    1 [root@localhost ~]# awk -F: '/news/ {print $1}
    2 /sshd/ {print $1}' /etc/passwd
    3 news
    4 sshd
    #若包含了两个组合(正则和执行内容),则需要分行表示,例2是例1的另一种写法

    2、标准格式2是awk -F ':' 'BEGIN {1} /2/ {3} END {4}' filename

    【解释:1是读取内容前的操作,2是正则,3是读取内容并执行的操作,4是执行内容后的操作】

    例子3:

    1 [root@localhost ~]# awk -F: 'BEGIN {print "begin";} /news|sshd/ {print $1} END {print "end";}' /etc/passwd
    2 begin
    3 news
    4 sshd
    5 end
    #这里就是在例1的基础上执行前打印begin,执行后打印end

    例子4:

    1 awk -F: 'BEGIN {print "begin";} $1~/news|sshd/ {print} END {print "end";}' /etc/passwd
    2 begin
    3 news:x:9:13:news:/etc/news:
    4 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin
    5 end
    #//里面只能写正则表达式,在此例中$1~/news/sshd/,就是第一列满足news/shhd的行,打印整行。
  • 相关阅读:
    curl查询公网出口IP
    Linux scp命令
    docker 安装 MySQL 8.0
    Ubuntu下apt方式安装与更新Git
    第2章 一切都是对象
    Mave实战(1)——Maven介绍
    关于Identityserver4和IdentityServer3 授权不兼容的问题
    装箱和拆箱、类型比较
    接口自动化用例(Fitnesse)中批量获取系统链路日志
    man时括号里的数字是啥意思
  • 原文地址:https://www.cnblogs.com/chenyaling/p/5942496.html
Copyright © 2020-2023  润新知