Pregunta

Estoy tratando de cambiar ciertas líneas en varios archivos (dispersos en subcarpetas) sin tener que editar cada archivo uno por uno. Me dieron por Chas. la siguiente

perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' *

y funcionó como un encanto, pero se preguntaba si este comando o similares se pueden hacer de forma recursiva en una sola toma

¿Fue útil?

Solución

find . -type f -exec perl -pi.bak -e 's{[^/]Css/Template.css}{/Css/Template.css}' '{}' '+'

Esto se aplicará a todos los archivos en el directorio actual y todos los subdirectorios. No va a seguir enlaces simbólicos. Es posible que desee limitar el alcance del hallazgo con una directiva -nombre también.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top