You can use sort
to do the work:
sort -k2,2 -u
-k2,2
means operate only on the 2nd column, -u
means unique.
У меня есть набор данных, который выглядит так:
AAAAA 11111 Data1 AAAAA 11111 Data2 AAAAA 11111 Data3 AAAAA 11112 Data4 AAAAA 11112 Data5 AAAAA 11112 Data6 AAAAA 11112 Data7 AAAAA 11113 Data8 AAAAA 11114 Data9
И так далее. Я хочу отфильтровать в соответствии со 2-м полем, а затем запустить uniq, чтобы получить только первую запись. В этом случае я хочу вывод:
AAAAA 11111 Data1 AAAAA 11112 Data4 AAAAA 11113 Data8 AAAAA 11114 Data9
Кажется, это будет довольно легко, но метод просто ускользает от меня. Любая помощь?
You can use sort
to do the work:
sort -k2,2 -u
-k2,2
means operate only on the 2nd column, -u
means unique.
There's an idiomatic piece of awk to do it:
awk '!seen[$2]++' file
print out the line only the first time the value in the 2nd column has been seen
You can use the below command to sort it out
sort new.txt | rev | uniq -s 6 | rev
output of the file is as follows
Hope this helps