我需要从文件1中删除与文件2相比的重复值。当我试图这样做时,我面临着问题,因为文件2(c,g)中的值也在文件1中的[b]下,这些也被删除了。但我的要求是只删除[a]下的那些。感谢
this.props.handleDeleteClick
和
$ less file 1
[a]
c
g
d
[b]
c
g
h
答案 0 :(得分:3)
您可以使用此awk命令:
awk '/^\[.*?\]/{s=$0} FNR==NR{seen[s,$0]++; next} !seen[s,$0]' file2 file1
[b]
c
g
h
此awk正在使用关联数组seen
,其中[...]
内的值为复合键,所有后续记录均为s,$0
在浏览file2时,它会将这些值保存在数组中,并且在遍历file1时,它将只打印seen
中不可用的那些值,从而避免重复。