例如我有2个文本文件:
file1 包括:
a
b
file2 包括:
a
ab
bc
c
输出应该是:
$p1.sh file1 file2
a
ab
bc
我该如何在 Linux 中编写这个代码?
答案1
仅使用 grep 即可完成
grep -f file1 file2
grep -f file2 file1
答案2
我假设第二个示例 ( p1.sh file2 file1
) 应该输出,因为中cc
没有只包含 的行。如果是这样,那么:c
file1
#!/bin/bash
cat "$1" | while read m
do
grep "$m" "$2"
done | sort -u
例子:
$ cat f1
a
b
bb
b
cc
$ cat f2
aa
ab
bc
c
$ ./p1.sh f1 f2
aa
ab
bc
$ ./p1.sh f2 f1
cc