shell实战训练营Day5

awk 命令
-F指定分段符 ,若不指定分隔符默认以空格空白为分隔符
awk -F ':' '{print $1,$3}' file 打印第一段,第三段
awk -F ':' '{print $0}' file 打印全段
awk '/word/' file 打印包含word的行
awk -F':' '{print $1"#"$3"#"$5}' file 指定用#分隔第1.3.5段
awk -F':' '$1~/word/' file 匹配第一段包含word的行
awk -F':' '$1~/ab+/' file 支持正则表达式
也支持多个表达式
awk -F':' '/root/ {print $1,$3} /test/{print $2,$4}' file 匹配root行打印第一第三段,匹配test行打印第二第四段
awk -F':' '$3==0 {print $1}' file 若第三段等于0,则打印第一段
awk -F':' '$3=="0" {print $1}' file 数字加双引号按照ASCII码计算
awk -F':' '$3>=0 {print $1}' file 若第三段大于等于0,则打印第一段
awk -F':' '$3!=0 {print $1}' file 若第三段不等于0,则打印第一段
awk -F':' '$3!="/sbin/nologin" {print $0}' file 若第三段不为/sbin/nologin,则打印第一段
awk -F':' '$3<$4 {print $1}' file
awk -F':' '$3>2&& $3<5 {print $1}' file
awk -F':' '$3>2||$4==0 {print $1}' file
awk -F':' '{OFS="#"} {if ($3>10) {print $3,$5,$7}}' file -F指定分段前分隔符,OFS指定分段后间隔符为# 输出为$3#$#5#$7
awk -F':' 'NR<10' file 打印前10行 NR表示行数
awk -F':' '{print NR}' file 打印各行行号
awk -F':' '{print NF}' file 打印各行段数
awk -F':' 'NR<10&&$1~/word/' file 打印前10行中第一段包含word的行
awk -F':' $3="word" file 将第三段的赋值为word
awk -F':' '{tot=tot+$3};END{priint tot}' file 将文件中第三段累加求和
awk -F':' '{if ($1=="word") {print $0}}' file 若文件第一段是word,则打印出来

猜你喜欢

转载自blog.51cto.com/12948291/2333963