sed:sed -e 'N'表示跨一行匹配的意思。sed 'N;N;s/\n/ /g' 1.txt

awk:awk -F ':' '{print $3}' passwd.txt 显示一冒号为分隔符的第三段($0就是显示那一整行);

  awk -F ':' '{print $1 "aaa" $3}' passwd.txt 在第一段和第三段之间加aaa;

  rootaaa0

  binaaa1

  daemonaaa2

  awk -F ':' '$3>5' passwd.txt 这里的5如果是数字就可以不加双引号,若果是字符就必须加上双引号。


  awk -F ':' '/root/{print $1,$3} /mysql/{print $1,$3}' passwd.txt 显示包含root的行的第一段和第三段,还有包含mysql的。

  

  awk -F ':' '$1 ~ /oo/' passwd.txt 让某一段去匹配

  awk的常用变量:NF 用分隔符分割后一共有多少段 NR 行数

  awk -F ':' '{print NF}' 显示有多少段

  awk -F ':' '{print $NF}' passwd.txt 显示每行的最后一段$(NF-2)倒数第三段

NR

  awk -F ':' '{print NR}' passwd.txt显示行号

  awk -F ':' '{print $NR}' passwd.txt 显示第一行的第一段,第二行第二段。。。。。

  awk -F ':' '{(num=num+$3)};END {print num}' passwd.txt 计算第三段的和;

  egrep -q 禁止所有的输出到标准输出,不管匹配行。如果选中输入行,以 0 状态退出(就是说匹配到的情况不输出出来。)