5.45 awk
格式:
awk -F '分割符' '动作' 文件名
例: awk -F ':' '' test |awk -F ':' '{print $1}'
以上就是以冒号为分割符,输出第1段的内容。
$1、$2、$3分别表示第一段、第二段、第三段。而$0表示整行。
自定义输出结果的分割符'{OFS="#"}'
条件匹配
awk -F ':' '$1 ~/oo/' test
多条件匹配
awk -F ':' '/root/ {print $1,$3} /test/ {print$1,$3,$4}' test
匹配条件为逻辑判断
[root@localhost tmp]# awk -F ':' '$3 == 0' test
多条件判断
在有{OFS="#"}的情况下添加筛选条件
awk -F ':' '{OFS="#"} {if ($3>1000) {print $1,$2,$3,$4}}' /etc/passwd
内置变量NF 与NR
变更某一段的输出值
awk -F ':' '$1="aaa"' test
统计某一段的值
awk -F ':' '{(tot=tot+$3)}; END {print tot}' /etc/passwd
awk的完整形式:
awk -F ':' 'BEGIN {}; {条件}; END{}' filename
其中BEGIN和END都可以省略。中间的条件是依次执行文件中的每一行。
比如这个{(tot=tot+$3)}.
他就会执行这个文件的NR(行数)次。