URL: https://www.opennet.me/cgi-bin/openforum/vsluhboard.cgi
Форум: vsluhforumID1
Нить номер: 65348
[ Назад ]

Исходное сообщение
"Удаление строк из файла(sed)"

Отправлено dima_k , 03-Апр-06 17:36 
Народ, такая задача. Есть файл сосписокм записей.
Нужно нахожить каждую запись из этого файла в другом файле и в этом другом файле удалять строку, содержащую эту запись и следующие за ней 2 строчки. При этом одна запись (и следующие за ней 2 строчки должна остаться). Посмотрел, sed может удалять только строчки, в которых встречается запись (типа sed -e 'запись/d').
Вопрос, можно ли это сделать при помощи sed? И намекните как.
Заранее благодарен.

PS. Кому интересно, что за задача - объясню: удаление повторяющихся записей в named.conf. Список доменов беру из /var/log/messages после named.reload.


Содержание

Сообщения в этом обсуждении
"Удаление строк из файла(sed)"
Отправлено allez , 04-Апр-06 16:51 
>Посмотрел, sed может удалять только строчки, в
>которых встречается запись (типа sed -e 'запись/d').

Sed может удалять строки еще и по номеру (sed "<номер_строки>d"):

$ cat file
line 1
line 2
line 3

$ sed "2d" file
line 1
line 3

$ sed "`expr 1 + 1`d" file
line 1
line 3

$ num=2; sed "${num}d" file
line 1
line 3

$ num=2; sed "`expr ${num} + 1`d" file
line 1
line 2