linux下对文本流处理的软件有sed和awk,sed基本以行为单位来处理输入数据,awk会先把数据分割(如空格或Tab),以更接近编程语言的语法进行处理,包含一些基本的字串操作,数学函数功能登录。

  • 打印文件, “$0”是awk的内置变量,表示匹配的整行。$N表示行中的第N个字段,如$1表示第1个字段。
    $ awk '{ print $0 }' /etc/passwd
    
  • 打印指定列数, “-F”设置字段的分割符
    $ awk -F ":" '{ print $1, $3}' /etc/passwd
    $ awk -F ":" '{ printf "%s %s \n", $1, $3 }' /etc/passwd
    

参考资料

  1. https://www.ibm.com/developerworks/cn/linux/shell/awk/awk-1/index.html
  2. https://en.wikipedia.org/wiki/AWK
  3. https://www.gnu.org/software/gawk/manual/html_node/index.html
  4. https://www.ibm.com/developerworks/cn/education/aix/au-gawk/index.html