awk

(自己的学习经验 和 大家分享一下)

AWK 是一个数据处理工具,倾向于将一行分成“数段”来处理。注意awk是以 行 为一次处理的单元 ,而以 字段 为最小的处理单元。awk处理字段时默认分隔符是空格 或 TAB。

格式:awk '条件类型1{动作1} 条件类型2{动作2}' filename

我们最常用的动作就是 print      $1 , $2 ......是位置变量   $0    是代表这个一行。
 

介绍几个awk的内置变量:NF每一行$0拥有的字段总数;

                                              NR目前awk处理的是第几行;

                                              FS目前的分割字符 默认是空格;

引用的时候不用加$了 注意是大写。

当然这么强大的工具肯定是支持逻辑运算符的 如:> , >= ,< ,<= , == !=

举例说明:显示passwd文件中的用户并且是UID小于10的

    #cat /etc/passwd | awk  '{FS=":"} $3  <  10 {print $1 "\t" $3}'

但是发现没有root 是因为第一行还是默认使用空格为分隔符  用BEGIN 字段

 #cat  /etc/passwd | awk  'BEGIN {FS=":"}  $3  <  10  {print  $1  "\t"  $3}'

-F   指定分隔符

慢慢补充,每天进步一点。。。。

你可能感兴趣的:(命令,职场,awk,休闲)