У меня есть следующий файл .txt
Plummet
Cherist the day
--
The Transatlatins <-----------duplicate
Mysteriosa <-----------duplicate
--
Angel City;Lara McAllen
Love me right
--
The Transatlatins
Mysteriosa
Как удалить дубликаты, не меняя порядок? и пробелы в строках, я пробовал, sort
но я меняю порядок, и uniq
дубликаты не удаляются.
ожидаемый результат:
Plummet
Cherist the day
--
Angel City;Lara McAllen
Love me right
--
The Transatlatins
Mysteriosa
решение1
Предполагая,что файл должен быть в формате
field1\n
field2\n
\n
field1\n
field2\n
\n
т.е. последняя строка в файле-образце должна выглядеть так:
Mysteriosa Mysteriosa
то это должно сработать, при условии, что \n
после последней записи есть завершающий символ новой строки
sed '$!N;$!N;s/\n/:/g' file | nl -s"|" | sort -t '|' -k2 | awk -F"|" '!_[$2]++' | sort -n | sed -e 's/.*|//' -e 's/:/\n/g'
решение2
Команда:
awk '{if (!seen[$1,$2]++)print $0}' filename