![我想从一个文件中搜索另一个文件中的模式](https://linux22.com/image/91816/%E6%88%91%E6%83%B3%E4%BB%8E%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%AD%E6%90%9C%E7%B4%A2%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E4%B8%AD%E7%9A%84%E6%A8%A1%E5%BC%8F.png)
我有两个包含以下内容的文件
文件1:
9/09a-A5
9/09a-A18
9/09b- 2B
9/09a-A9
9/09b- 7
9/09a-A11
9/09a-A14
9/09c- 16
9/09b- 5
9/09b- 12
9/09a-A25
9/09a-A10Y
9/09a-A17Z
9/09a-A12Z
9/09b- 4Z
9/09a-A26Y
9/09a-A13
9/09a-A27
9/09a-A19
9/09a-A10
9/09a-A17Y
9/09a-A4
9/09a-A7
9/09a-A15
9/09b- 1
9/09a-A19Z
9/09a-A26
9/09a-A16
9/09a-A22Z
9/09a-A10Z
9/09a-A26Z
9/09a-A13Z
9/09b- 9
9/09b- 4
文件2
9/09b- 2
9/09b- 2A
9/09b- 2B
9/09b- 4Z
9/8B-13
9/9A-11
9/9A-13
9/9A-13Z
9/9A-14
9/9A-6
9/9A-8
9/9A-A13
9/9B-1
9/9B-10
9/9B-12
9/9B-3
9/9B-4
9/9B-5
9/9B-7
9/9B-9
9/9C-15
9/9C-16
9/9D-17
我想从文件 1 中取出第 1 行并在文件 2 中搜索相同的名称,如果存在则打印。请注意,搜索时有空格和大小写需要忽略。这里的结果应该是
9/09b- 2B
9/09b- 5
9/09c- 16
9/09b- 12
9/09b- 4Z
9/09a-A13
9/09b- 1
9/09b- 9
9/09b-
答案1
for i in `cat file1 | sed -e 's/ //g'`
do
echo file1:${i},file2:`grep $i file2`
done
或类似的东西...
或者可能:
for i in `cat file1 | sed -e 's/ //g'`
do
for o in `cat file2 | sed -e 's/ //g'`
do
[[ $i == $o ]] && echo We have a match: $i $o
done
done