awk处理案例十八--文本分割方法收集
【场景】
a.txt b.txt c.txt
a aqz a qz
b3 b3d b3 d
f f234 f 234
e accc a ccc
假如a.txt不重复 b.txt也是不重复,以a.txt中做为分割词,对b.txt进行分割 得 c.txt
【代码】
> awk 'NR==FNR{a[$1];next}{for(i in a){if(index($0,i)){l=split($0,b,i);s=i}};print s FS b[l]}' a.txt b.txt a qz b3 d f 234 a ccc
【解析】
NR==FNR时,处理第一个文件;这个很好理解吧!在a.txt文件中;把$1存放在数组a中;next之后就读文件b.txt
for(i in a);循环a数组。若i在文件b中能检索到;就进行分割。在打印出来!

浙公网安备 33010602011771号