如何grep txt文件的内容

时间:2013-09-23 10:22:38

标签: unix grep

我有2个txt文件

档案1

vol12 ,cs_rvl      
vol12 ,cvs_rvl     
vol12 ,svn_rvl     
vol12 ,swarch      
abc_xyz ,abc_xyz 

def6g ,def6g  
vmfs_unix ,vmfs_unix

vol5 ,images

vol4 ,svn_blr

vol4 ,home4

文件2

svn_rvl     
swarch 

vmfs_unix

home4

我的文件2是已处理的输出,只有qtree名称才能获取file2的内容

例如:对于svn_rvl,它应显示vol12/svn_rvl

swarch -- vol12/swarch
vmfs_unix -- vmfs_unix/vmfs_unix

2 个答案:

答案 0 :(得分:0)

试试这个: test1.txt是你的file1,test2.txt是你的file2,results.txt将输出存储在同一个文件夹中的文件

openvas:~/test${ while read myline;do recset=`echo $myline`; var=$(grep $recset test1.txt);  echo $var >> results.txt ;  done } < test2.txt
openvas:~/test$ more results.txt 
vol12 ,svn_rvl
vol12 ,swarch
vmfs_unix ,vmfs_unix
vol4 ,home4

openvas:~/test$ `{ while read myline;do recset=`echo $myline`; var=$(grep $recset test1.txt);  echo $myline '--' $var >> results.txt ;  done } < test2.txt`
openvas:~/test$ more results.txt 
svn_rvl -- vol12 ,svn_rvl
swarch -- vol12 ,swarch
vmfs_unix -- vmfs_unix ,vmfs_unix
home4 -- vol4 ,home4

答案 1 :(得分:0)

awk -F, 'FNR==NR{a[$0];next}($2 in a){print $2" -- "$1"/"$2}' file2 file1