linux之awk命令

Posted 大家所爱--大萌新

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了linux之awk命令相关的知识,希望对你有一定的参考价值。

      大家好,今天学习第二个数据处理的命令:awk命令,这个命令就非常强大了,相比之前那个cut命令,cut命令就显得比较low了。awk命令是一个非常强大的数据处理命令,支持条件判断,数组,循环等功能,与grepsed被称为linux三 剑客。这个命令通常对数据进行列的提取。
     语法:1、 awk '条件1 {执行动作} 条件2 {执行动作} ...' 文件名 
              2、awk [选项
] '条件1 {执行动作} 条件2 {执行动作} ...' 文件名
     特殊要点与举例说明:
         printf #格式化输出,不会自动换行。
         print #打印出内容,默认会自动换行
        %s #代表字符串
        \\t #制表符
        \\n #换行符
例如: printf '%s\\t%s\\t%s\\t%s\\t%s\\t%s\\n' 1 2 3 4 5 6
     awk的一些特殊要点与举例说明 :
        NR #行号
      $1 #代表第一列
      $2 #代表第二列
      $NF#代表最后一列

 

例如:
    df -h | awk 'NR==4 {print $1}'
    df -h | awk '(NR>=2 && NR <=5) {print $1}'
    df -h | awk '{print $NF}

-F #指定分割符
    awk -F":" '{print $1}' /etc/passwd

 
BEGIN #在读取所有行内容前就开始执行,一般用来初始化操作
例如:
cat /etc/passwd | awk 'BEGIN {FS=":"} {print $1}'
df -h |grep -v 'Filesystem' | awk '{printf $1} {printf " 文件系统使用率: "} {print $5}'
df -h |grep -v 'Filesystem' | awk 'BEGIN {printf " 文件系统使用情况: \\n \\n"} {printf $1}

{printf "文 件系统使用率:"} {print $5}'


END #结束的时候 执行
例如:
df -h |grep -v 'Filesystem' | awk 'BEGIN {printf "文件系统使用情况:\\n \\n"} {printf $1}
{printf "文件系统使用率:
"} {print $5} END {printf "一切正常 \\n"}‘


 

以上是关于linux之awk命令的主要内容,如果未能解决你的问题,请参考以下文章

Linux常用命令之awk

linux命令之awk

Linux系统命令三剑客之 awk

Linux常用基本命令:三剑客命令之-awk格式化动作

linux之awk命令

awk && sed ====linux 三剑客之awk 命令