我有两个文件,例如:
File1中:
A,Content1
B,Content2
C,Content3
文件2:
D,Content4
E,Content5
B,Content6
file1和file2中有相同的密钥,我可以巧妙地合并两个文件,结果文件就是:
A,Content1
B,Content2
C,Content3
D,Content4
F,Content5
答案 0 :(得分:1)
您应该可以使用一个sort
完成此操作:
sort -t',' -k1,1 -u file1 file2
它将字段分隔符设置为逗号,仅对第一个字段进行排序和重复数据删除。
答案 1 :(得分:0)
如果您的文件不是太大(这是我从您使用的shellcript中假设的那样):
#!/bin/bash
keys=$(cat "$@" | cut -d',' -f1 | sort -u)
for key in $keys
do
grep -h $key "$@" | head -1
done
基本上:
提取密钥(第一个逗号之前的内容)
在文件中找到该键的第一个匹配项(头部为-1)