是否可以按照使用简单的 bash 脚本使用or给出的指令复制File1
新的整行?File3
File2
sed
awk
File1: /*two or more columns*/
AC 456324
DC 689712
GH 123677
KL 236587
File2: /*one column*/
AC
DC
File3:
AC 456324
DC 689712
我实际上是使用 Python 字典执行此操作,我想知道您是否知道一个简单的解决方法。
答案1
和grep
grep -Ff File2 File1
和awk
awk 'NR==FNR {a[$1]++;next} a[$1]' File2 File1
答案2
您可以使用join
通过连接两个文件中的特定列具有相同值的位置来合并两个文件中的行。请注意,输入文件需要按该列中的值排序。
join File1 File2
如果文件未排序,在 bash/ksh93/zsh 中:
join <(sort File1) <(sort File2)
这里要连接的字段是包含 、 等的字段AC
。DC
下面是一个示例,如果要连接的字段是 中的第 3 列File1
和 中的第 2 列File2
。
join -1 3 -2 2 <(sort -k3,3 File1) <(sort -k 2,2 File2)