Страница 1 из 1

Удалить из файла всё что после "лопата"

Добавлено: 2008-03-26 18:25:13
freeman
Есть файл, в котором надо удалить всё после ключевого слова "лопата".
Направте чем/как в FreeBSD можно удалить "всё что после". Пока не знаю в какою сторону копать :oops:

Re: Удалить из файла всё что после "лопата"

Добавлено: 2008-03-26 23:17:55
schizoid
как вариант

Код: Выделить всё

grep КЛЮЧИК лопата  file> new_file

Re: Удалить из файла всё что после "лопата"

Добавлено: 2008-03-27 11:03:02
idle
КЛЮЧИК можно поменять на:

Код: Выделить всё

-B 999999

Re: Удалить из файла всё что после "лопата"

Добавлено: 2008-03-27 11:19:43
freeman
Так уже и сделал, доволен что мысли после наводки совпадают. ЖАль что сама лопата остаётся в таком случае правда, но она не критична
"А ларчик просто открывался"
Спасибо всем откликнувшимся =)

Re: Удалить из файла всё что после "лопата"

Добавлено: 2008-03-27 11:29:48
idle
freeman писал(а):ЖАль что сама лопата остаётся

Код: Выделить всё

grep -B 999999 лопата file|grep -v лопата  > new_file 

Re: Удалить из файла всё что после "лопата"

Добавлено: 2008-04-03 22:48:17
Гость
для sed(1):
/\(лопата\).*/s//\1/; //q
/\(лопата\).*/ { s//\1/; q; }
s/\(лопата\).*/\1/; //q

а если вместе с лопатой, то /лопата/,$ d (тормозной вариант) или sed -n '/лопата/ q; p'

оно?