Linux Shell編程的實(shí)例教程

  • awk?[-field-separator]?‘commands’?input-file(s)

基本模式

  • awk -F’:’ …?

使用#分隔

  • awk ‘{print $0}’ a.txt?

打印全部

  • awk ‘{print $1,$3}’ a.txt?

打印第1、3列

  • awk ‘BEGIN{print “0”}{print $1}’ a.txt??

第一行打印0

  • awk ‘{print $1}END{print “0”}’ a.txt?

最后一行打印0

  • awk ‘$1 == “0” {print $0}’ a.txt?

第一列等于0的行

  • awk ‘$1!=”0″ {print $0}’ a.txt?

第一列不等于0的行

  • awk ‘$1

第一列小于等于第二列的行

  • awk ‘$0!~/0/’ a.txt?

正則匹配所有列不含0的行

  • awk ‘$1~/(12|(34)/’ a.txt?

正則匹配第一列匹配12或34的行

  • awk ‘if($1>1 && $2

第一列大于1且第二列小于1的行的第一列

  • awk ‘if($1>1 || $2

第一列大于1或第二列小于1的行的第二列

  • awk ‘{print NF RS NR}’ a.txt?

連續(xù)打印記錄列數(shù)、記錄分隔符、已讀記錄數(shù)

  • awk ‘NR==FNR {print $1} NR>FNR {print $2}’ a.txt b.txt?

打印第一個(gè)文件的第一列和第二個(gè)文件的第二列

  • awk ‘{$1=$1*2; print $1}’ a.txt

修改數(shù)值打印

  • awk ‘BEGIN{LAST=0} {if($1>LAST) print $1; LAST=$1}’

逐個(gè)比較打印遞增數(shù)列

  • awk ‘{total+=$1} END {print total}’ a.txt

統(tǒng)計(jì)列值

  • awk ‘{printf “%c”, $1}’ a.txt

格式化輸出

  • awk ‘{print match($1, “1”)}’ a.txt

打印第一列第一個(gè)1的位置,沒有打印0

  • awk ‘{gsub(/ab/,”cd”,$1); print $0}’ a.txt

第一列字符串替換

  • awk ‘{MAP[$1]=$2} END {for(I in MAP){print I, MAP[I]} }’ a.txt

字典存儲(chǔ)和提取

? 版權(quán)聲明
THE END
喜歡就支持一下吧
點(diǎn)贊5 分享