Как удалить дубликаты в строке текстового файла

Автор brootos, 14 Апреля 2012, 20:23

« предыдущая тема - следующая тема »

0 Пользователей и 1 Гость просматривают эту тему.

brootos

Всем привет, нужен совет, есть файл текстовый такой:

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

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

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

То есть:

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

Удалить повтор в строке.

Vicpo

Пример
echo пингвин пингвин | sed 's/\([а-я]*\) \1/\1/'Вывод будет пингвин

Yoda

15 Апреля 2012, 19:56 #2 Последнее редактирование: 15 Апреля 2012, 21:16 от Vicpo
Вот самое подходящее чтиво для такого вопроса.


brootos

Все дубликаты приложений убрал, онлайн чистилкой. Но она мне тупо все сделала в одну строку. Хорошо что есть "маркера" в виде "http" перед которыми я поставил перевод строки.

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

Всем спасибо, можно закрыть тему.

brootos

Нет все таки я ступил, в общем как заменить http (штук 100) на (перевод строки)http

Yoda

16 Апреля 2012, 00:31 #6 Последнее редактирование: 16 Апреля 2012, 00:33 от Yoda
Имха, быстрее всего так:



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


brootos

Цитата: Yoda от 16 Апреля 2012, 00:31Имха, быстрее всего так:



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



Спасибо, приму к сведению http://linuxforum.kz/public/style_emoticons/<#EMO_DIR#>/smile.gif\' class=\'bbc_emoticon\' alt=\':)\' />

sed изучу, полезная вещь, жаль редко используемая, в моем случае.

Yoda

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