每日一題--5 awk進階
阿新 • • 發佈:2018-10-12
awk %s 變量 don i++ pre 每日 效果 判斷
每周絕望原數據文件:
id=aa&bb&type&name=cc
bb&id=aa&name=cc&type
id=aa&type&bb&name=dd
type&id=aa&cc&name=bb
id=bb&cc&type&name=bb
aa&id=bb&name=bb&type
整理並去重,得到效果:
id=aa&bb&name=cc&type id=aa&bb&name=dd&type id=aa&cc&name=bb&type id=bb&cc&name=bb&type id=bb&aa&name=bb&type
提示:awk循環、判斷、變量賦值、去重機制
第一個裏程碑
awk -F ‘&‘ -v OFS=‘&‘ ‘{for(i=1;i<=4;i++)printf"%s" $i;printf "\n"}‘ awk.txt 實現每個遍歷了 awk -F ‘&‘ -v OFS=‘&‘ ‘{for(i=1;i<=4;i++){if($i~/^id.*$/)A=$i;if($i~/^[a-z]{2}$/)B=$i;if($i~/^name.*/)C=$i;if($i~/^type$/)D=$i}print A,B,C,D}‘ awk.txt echo {a..z} | xargs -n 1 >awk.txt
利用awk去除g所在行的上下5行
for j in `awk ‘/^j$/{for(i=NR-5;i<=NR+5;i++)print i}‘ 1.txt `;do awk -v j=$j ‘NR==j{print $0}‘ 1.txt;done
每日一題--5 awk進階