【发布时间】:2017-06-11 06:07:36
【问题描述】:
我是 bash Shell 脚本的新手。我要求我有一个查找文件 (csv),其中有一组字符串,如下所示。
文件1:
text1
text2
text3
我必须检查file1中的字符串是否存在于file2中。
文件2:
s.no desc
1 text5
2 text3
3 text2
4 text9
如果 file1 中的字符串存在于 file2 中,那么我必须在一个新文件 file3 中打印输出,其中包含 s.no 和找到的字符串。请帮忙。
【问题讨论】:
-
请将该示例输入的示例输出添加到您的问题中。
-
我的输出文件可能像 S.no desc 3 text2 2 text3
-
您的列是如何分隔的?一个空格、多个空格还是一个制表符?
-
这是一个标签分隔
-
使用连接、排序和 bash:
join -1 1 -2 2 -t $'\t' --header <(echo; sort file1) <(sort -t $'\t' -k2,2 file2) -o 2.1,2.2