我想从一个文件中搜索另一个文件中的模式

我想从一个文件中搜索另一个文件中的模式

我有两个包含以下内容的文件

文件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

相关内容