LINUX.ORG.RU

Удалить определённые строки из нескольких файлов

 


0

1

Здравствуйте.

Собственно вопрос в заголовке - мне нужно «пройтись» по нескольким вложенным каталогам с файлами, найти в этих файлах определённые строки, и удалить эти строки.

Делаю так…

grep -r 'assert' /home/dima/dir/ | sed -i '/assert/d'

…пытаясь удалить строки, в которых есть словосочетание «assert».

Однако это не работает, пишет - "sed: отсутствуют входные файлы ". Суть ошибки я понимаю, но не знаю как сделать правильно.

Подскажите решение?


Ответ на: комментарий от PhysShell

Мне нужно чтоб во вложенных каталогах происходил поиск и удаление.

stD ()
Ответ на: комментарий от stD

Сделал так…

find /home/dima/dir/ -type f -print0 | xargs -0 sed -e '/assert/d' -i
stD ()
Для того чтобы оставить комментарий войдите или зарегистрируйтесь.