Сталкивался эту тему, пытаясь решить много с той же проблемой.Я объединил несколько файлов, содержащих пароли, поэтому, естественно, было много парных. Кроме того, многие нестандартные символы. Мне они действительно не нужны, но, похоже, это было необходимо для uniq.
Я пробовал:
sort /Users/me/Documents/file.txt | uniq -u
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `t\203tonnement' and `t\203tonner'
Пробовал:
sort -u /Users/me/Documents/file.txt >> /Users/me/Documents/file2.txt
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `t\203tonnement' and `t\203tonner'.
И даже пытался передать его через кошку первой, только чтобы я мог видеть, если мы получали надлежащего ввода.
cat /Users/me/Documents/file.txt | sort | uniq -u > /Users/me/Documents/file2.txt
sort: string comparison failed: Illegal byte sequence
sort: Set LC_ALL='C' to work around the problem.
sort: The strings compared were `zon\351s' and `zoologie'.
Я не уверен, что происходит. Строки «t \ 203tonnement» и «t \ 203tonner» не найдены в файле, хотя найдены «t/203» и «tonnement», но на отдельных соседних строках. То же самое с «zon \ 351s».
Что, наконец, работал для меня было:
awk '!x[$0]++' /Users/me/Documents/file.txt > /Users/me/Documents/file2.txt
Она также сохранились слова, единственным отличием было так, что я и хотел. Мне не нужен список, отсортированный, так что было здорово, что это не так.
Вы хотите, чтобы слова были уникальными на основе строк или над всем файлом? Также вы хотите сохранить исходный порядок слов, или вы счастливы, если заказ изменен? – Beano
Мне нужны слова uniq во всем файле. порядок слов не важен. – cupakob
См. Также: [Как найти повторяющиеся слова в файле с помощью grep/egrep?] (Http://stackoverflow.com/q/33396629/562769) –