Linux Forum Казахстан

Разное => Разговоры => Тема начата: brootos от 14 Апреля 2012, 20:23

Название: Как удалить дубликаты в строке текстового файла
Отправлено: brootos от 14 Апреля 2012, 20:23
Всем привет, нужен совет, есть файл текстовый такой:

как дела все нормально. как дела все нормально.
отлично все нормально. отлично все нормально.
... . ...
Вот и все что надо. Вот и все что надо.

Так вот такой файл надо преобразовать в:

как дела все нормально.
отлично все нормально
... .
Вот и все что надо.

То есть:

как дела все нормально. как дела все нормально.
отлично все нормально. отлично все нормально.
... . ...
Вот и все что надо. Вот и все что надо.

Удалить повтор в строке.
Название: Как удалить дубликаты в строке текстового файла
Отправлено: Vicpo от 15 Апреля 2012, 10:23
Пример
echo пингвин пингвин | sed 's/\([а-я]*\) \1/\1/'Вывод будет пингвин
Название: Как удалить дубликаты в строке текстового файла
Отправлено: Yoda от 15 Апреля 2012, 19:56
Вот самое подходящее чтиво для такого вопроса.
Название: Как удалить дубликаты в строке текстового файла
Отправлено: brootos от 15 Апреля 2012, 21:49
Спасибо.
Название: Как удалить дубликаты в строке текстового файла
Отправлено: brootos от 15 Апреля 2012, 22:58
Все дубликаты приложений убрал, онлайн чистилкой. Но она мне тупо все сделала в одну строку. Хорошо что есть "маркера" в виде "http" перед которыми я поставил перевод строки.

sed -i 's/http/n\http/' 2.txt>>3.txt

Всем спасибо, можно закрыть тему.
Название: Как удалить дубликаты в строке текстового файла
Отправлено: brootos от 15 Апреля 2012, 23:31
Нет все таки я ступил, в общем как заменить http (штук 100) на (перевод строки)http
Название: Как удалить дубликаты в строке текстового файла
Отправлено: Yoda от 16 Апреля 2012, 00:31
Имха, быстрее всего так:

(http://image.kz/img/17/17d8976678f9fa8e430939798e0cdd21-sml.png) (http://image.kz/v17d8976678f9fa8e430939798e0cdd21)

А в будущем, долгими зимними вечерами, заняться изучением sed'а.

Название: Как удалить дубликаты в строке текстового файла
Отправлено: brootos от 16 Апреля 2012, 21:58
Цитата: Yoda от 16 Апреля 2012, 00:31Имха, быстрее всего так:

(http://image.kz/img/17/17d8976678f9fa8e430939798e0cdd21-sml.png) (http://image.kz/v17d8976678f9fa8e430939798e0cdd21)

А в будущем, долгими зимними вечерами, заняться изучением sed'а.



Спасибо, приму к сведению /smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

sed изучу, полезная вещь, жаль редко используемая, в моем случае.
Название: Как удалить дубликаты в строке текстового файла
Отправлено: Yoda от 17 Апреля 2012, 17:25
sed -r 's/(.*)[[:blank:]]*\1/\1/' testfile > newfile
Где testfile - Ваш исходный файл, а newfile - файл, который требуется получить на выходе.