您的位置:首页 > 运维架构 > Shell

shell练习-awk命令

2016-09-27 21:03 363 查看
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
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  命令 shell