每周绝望原数据文件:
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
原文地址:http://blog.51cto.com/13447608/2299040
时间: 2024-10-11 12:16:31