use*_*124 2 unix vim cut duplicate-removal
我有以下几行:
123 abcd 456 xyz
123 abcd 678 xyz
234 egfs 434 ert
345 fggfgf 456 455 rty
234 egfs 422 ert 33
Run Code Online (Sandbox Code Playgroud)
所以在这里,如果第一个字段对于多行是相同的,则认为它们是重复的.因此,在上面的例子中,123在2行中是相同的,它们被认为是重复的(尽管它们在中间的一个字段中不同).类似地,具有234的行是重复的.我需要删除这些重复的行.
由于它们不是100%重复,sort u不起作用.有谁知道我怎么能删除这些重复的行?
这对于awk来说是一个非常简单的任务,我会用awk来做.在vim中,你可以这样做:
% !awk '\!a[$1]++'
Run Code Online (Sandbox Code Playgroud)
然后你得到了:
123 abcd 456 xyz
234 egfs 434 ert
345 fggfgf 456 455 rty
Run Code Online (Sandbox Code Playgroud)
如果你在shell中执行它,你不必逃避!:
awk '!a[$1]++' file
Run Code Online (Sandbox Code Playgroud)