如何编写一个 bash 脚本,将一个文件的每一行也打印在第二个文件中

如何编写一个 bash 脚本,将一个文件的每一行也打印在第二个文件中

例如我有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没有只包含 的行。如果是这样,那么:cfile1

#!/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

相关内容