美文网首页
linux之awk使用技巧

linux之awk使用技巧

作者: 薛东弗斯 | 来源:发表于2022-11-06 12:44 被阅读0次

    linux之awk使用技巧 (baidu.com)

    打印文件的第一列

    > awk '{print $1}' rumenz.txt

    打印文件的前两列

    > awk '{print $1,$2}' rumenz.txt

    打印文件的最后一列

    > awk '{print $NF}' rumenz.txt

    打印文件的总行数

    > awk 'END{print NR}' rumenz.txt

    打印文件的第一行

    > awk 'NR==1{print}' rumenz.txt

    NR是指awk正在处理的记录位于文件中的位置(行号)

    打印文件的第3行第2列

    > sed -n '3,1p' rumenz.txt | awk '{print $2}'

    删除空行

    > awk 'NF' rumenz.txt

    打印奇数行

    > awk 'b=!b' rumenz.txt

    打印文件按#分割后,行长度为3的所有行

    > awk -F '#' 'if(NF==3){print}' rumenz.txt

    NF是指awk正在处理的记录包含几个域(字段),这与域分隔符有关,默认为空

    统计Linux系统中每个用户所用的shell

    > cat /etc/passwd | awk -F ":" '{print $1" : "$7}'

    用awk统计linux系统中所有的用户数

    > cat /etc/passwd | awk '{count++}END{ print count}'

    统计某个文件夹下文件所占的字节数

    > ls -l | awk 'BEGIN{size=0}{size=size+$5}END{print size}'

    统计某个文件夹下文件所占的字节数,按M显示

    > ls -l | awk 'BEGIN{size=0}{size=size+$5}END{print size}'

    netstat结合awk统计TCP连接数

    > netstat -tunlp | awk '/^tcp/{++a[$6]}END{for(i in a) print i,a[i]}'

    过滤空行

    > awk '/^[^$]/ {print $0}' rumenz.txt

    列运算

    > cat 1.txt123

    求和

    > cat 1.txt | awk '{a+=$1}END{print a}'

    求平均值

    > cat 1.txt | awk '{a+=$1}END{print a/NR}'

    求列的最大值

    > cat 1.txt | awk 'BEGIN{a=0}{if($1>a) a=$1 fi}END{print a}'

    相关文章

      网友评论

          本文标题:linux之awk使用技巧

          本文链接:https://www.haomeiwen.com/subject/lufvtdtx.html