首页 > 代码库 > shell练习-awk命令
shell练习-awk命令
awk -F ‘:‘ ‘{print $3,$4}‘ 1.txt
awk -F ‘:‘ ‘OFS=":" {print $3,$4}‘ 1.txt
awk ‘/root|user/‘ 1.txt 匹配root或者user
awk ‘/(oo)+/‘ 1.txt 一或多次oo
awk -F ‘:‘ ‘$1~/r*o/ {print $3}‘ 1.txt 第一段去匹配r*o的,并只打印第三段
awk -F ‘:‘ ‘$1~/root/ {print $1,$3}; $1~/user/ {print $1,$3}‘ 1.txt 分别匹配
awk -F ‘:‘ ‘$1~/root|nobody/ {print $1,$3}‘ 1.txt 或者
条件操作符
awk -F‘:‘ ‘$1=="root"{print $1}‘ 1.txt
awk -F‘:‘ ‘$1=="root" || $7~/nologin/‘ 1.txt 第一段是root或第7段是nologin的
可以用 !~ 表示不匹配 $7!~/nologin/ 第7段不匹配弄login的
awk 位置变量 NR行
awk -F‘:‘ ‘NR<10 {print $5,$1,$7}‘ 1.txt 打印前9行
awk -F‘:‘ ‘{if (NR==10) print $1,$3,$4}‘ 1.txt
awk -F‘:‘ ‘OFS="%" {if (NR==10) print $1,$2}‘ passwd 打印第十行的第一二两段
awk -F‘:‘ ‘{print NF}‘ 1.txt 打印每一行有几段
awk -F‘:‘ ‘OFS="##" {if (NF==7) print $1,$7}‘ passwd 打印是7段的每一行中的第一段和第七段
awk -F‘:‘ ‘{print $NR print $NF }‘ 1.txt
awk -F‘:‘ ‘OFS=":" {$7=$3+$4 print $0‘} 1.txt $0本行
awk -F‘:‘ ‘{(sum=sum+$3)};END {print sum}‘ 1.txt 循环 (注意单引号的位置)
awk -F: ‘/^root:/{OFS="##";print $1,$3,$6;}‘ passwd
本文出自 “share,open source” 博客,请务必保留此出处http://liqilong2010.blog.51cto.com/3029053/1857120
shell练习-awk命令