Buscar y reemplazar línea completa en archivos recursivos

Buscar y reemplazar línea completa en archivos recursivos

Estoy usando:

grep -n -H -o -R -e textword .

Enumere todos los archivos de forma recursiva en el directorio '.' con la cadena 'textword' y muestra el archivo, la línea y solo la parte que coincide.

Necesito eliminar líneas que coincidan con el texto usando un comando de Linux.

Respuesta1

find . -type f -exec sed -r -i "/textword/d" {} +

Recuerde que el texto de búsqueda se interpreta como una expresión regular por sed(con la -ropción), por lo que es posible que sea necesario escapar.

Úselo sed -i.backuppara hacer una copia de seguridad de los archivos originales como <filename>.backup.

Respuesta2

Con GNU findy sedpodrías:

find . -type f -print0 | xargs -0 sed -i '/^FIND$/d'

información relacionada