我正在尝试使用bash脚本用File2.conf中的文本更新File1.conf。
〜/ .group / File1.conf
group b = bill john
group a = bill amy john
./ File2.conf
group b = bill amy cara mike joe
group c = bill steven mike larry
导致〜/ .group / File1.conf看起来像
group b = bill amy cara mike joe
group a = bill amy john
group c = bill steven mike larry
我一直在查看awk
和sed
,但似乎无法正确获得输出。唯一的常数是group $ =
和间距。
答案 0 :(得分:1)
看看这个sort
:
$ sort -t'=' -uk1,1 file2 file1
group a = bill amy john
group b = bill amy cara mike joe
group c = bill steven mike larry
答案 1 :(得分:0)
我会写这个awk:
awk -F= 'NR == FNR {seen[$1]; print; next} !($1 in seen)' File{2,1}.conf
要将输出保存回File1.conf,
使用临时文件:
t=$(mktemp)
awk '...' File{2,1}.conf > "$t" && mv "$t" File1.conf
安装moreutils
软件包并使用sponge
awk '...' File{2,1}.conf | sponge File1.conf