日期:2014-05-16  浏览次数:20747 次

grep,awk的使用问题求教
我需要处理两个文件A,B
A文件中每行为tab分割的若干列,其中第6列中可能含有字符‘XY_’或‘XZ_’,其他列不含该字符
B文件中也是为每行都为tab分割的若干列
现在我需要从A文件中将含有‘XY_’(或‘XZ_’)的列取出来,然后再到B文件中去查询含有该列信息的行,并将该行的第1,3,4个域(列)给取出来,并且附加到对于A文件行的后面一起输出到文件C中

我已经用perl实现了该功能,但是用grep和awk的时候一直有个问题,这里应该用awk从A文件中取出满足条件的第六列,然后用grep获取该信息到B文件中去查询,再用awk对查询到的结果进行选择输出,并且这个输出要附加到对应A文件中的行后面一起输出到新的文件

红色标出的文字为我一直想不出该怎么解决的地方,求教各位大神援手!
多谢!
AWK Perl grep linux

------解决方案--------------------
#!/bin/bash
A=$1
B=$2

for i in `cat $A 
------解决方案--------------------
 awk '{print $6}' 
------解决方案--------------------
 egrep "XY_
------解决方案--------------------
XZ_"`
do
w=`grep $i $B`
[ -n "$w" ] && echo "$i $w" > C
done