Удаление повторяющихся строк в текстовом файле & hellip ;?

Это было проверено на 13.10

Я не знаю, можете ли вы это сделать с терминала, но вы можете изменить размер тире, как показано на изображениях ниже. Просто нажмите на маленький круговой прямоугольник, и вы сможете изменить его размер до полного окна, и он останется неизменным даже после выключения и перезагрузки.

Примечание. Имейте в виду, что это может измениться после

Примечание

После

enter image description here [ ! d10]

1
задан 20 July 2017 в 06:43

2 ответа

Существует несколько способов сделать это. Если порядок не важен, сортировка и uniq проще всего запомнить. Однако, если вы хотите сохранить порядок текстового файла, но удалите дубликаты, тогда awk сделает трюк. Вы также можете использовать sed, которому я верю.

Вот пример

/tmp/debugSys>cat fileWithDupText.txt 
line2
line21
line2
line1
line2
/tmp/debugSys>

/tmp/debugSys>cat fileWithDupText.txt | awk '!a[$0]++' 
line2
line21
line1
/tmp/debugSys>sort fileWithDupText.txt | uniq
line1
line2
line21
/tmp/debugSys>sort -u fileWithDupText.txt 
line1
line2
line21
/tmp/debugSys>
5
ответ дан 23 May 2018 в 17:07

Нашел красивый однострочный Perl для этого, используя хэши md5;), но это медленный и стоит того, если у вас очень длинные строки и огромный файл, где он значительно сократит использование памяти:

[ f1]

Поэтому просто используйте

perl -ne '$seen{$_}++ or print' foo

Источник

Пример

cat foo

foo
fii
foo bar
foobar
foobar
foo

perl -ne '$seen{$_}++ or print' foo

foo
fii
foo bar
foobar
2
ответ дан 23 May 2018 в 17:07
  • 1
    @terdon да, правильно. Мне понравилась эта идея. – A.B. 28 September 2015 в 17:03
  • 2
    И это имеет смысл для очень длинных строк (вот почему я удалил свой комментарий). Справедливо. – terdon♦ 28 September 2015 в 17:03

Другие вопросы по тегам:

Похожие вопросы: