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 状态退出(就是说匹配到的情况不输出出来。)