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中能检索到;就进行分割。在打印出来!

   

   

 

posted @ 2013-11-29 21:09  lottu  阅读(384)  评论(0)    收藏  举报