#需求#有A,B两份文件,如下:
[duqi.yc@xxxx~]$ cat a
nike
唐狮
adidas
duqi
duqi&nike
[duqi.yc@xxx~]$ cat b
nike 100
唐狮 100
adidas 20000
duqi&nike 200
l&v 200000
etao 200000
taobao 20
冬天 20
想把文件B中,$1模糊匹配a的数据找出来。
#注意点:
1,因为涉及到B中每条数据的匹配,因此,会用到动态的正则表达式匹配,$1 ~ a[char],不需要加//;
2,防止a中的空行,影响到匹配,因此通过length保证不为空,且去掉字符少的行;
#方法:
awk 'BENGIN{FS=OFS='\t'} NR==FNR && length($0)>1 {a[$1]=$1;} NR>FNR{for(char in a){if ($1 ~ a[char]) {print $0;break}}}' a b