Как удалить дубликаты линий из файла?

Есть файл test.txt

1
2
3

Данный код возвращает дубликаты

awk '!a[$0]++' test.txt 

Как удалить дубликаты из того же файла. Я пробовал вот так, но результирующий файл уже пустой

awk '!a[$0]++' test.txt > test.txt

Ответы (1 шт):

Автор решения: dIm0n

Используйте промежуточный файл:

awk '!a[$0]++' test.txt >tmp && mv -f tmp test.txt

Тест https://repl.it/repls/UnpleasantBlindDisplaymanager

Ещё вот так можно:

sort -u -o test.txt test.txt

Тест https://repl.it/repls/WorthlessFakeKeyboardmapping

→ Ссылка