encuentre y reemplace una cadena en un conjunto de archivos xml usando comandos de shell

StackOverflow https://stackoverflow.com/questions/1605610

  •  05-07-2019
  •  | 
  •  

Pregunta

Tengo 1000 archivos en un directorio. Estoy en una máquina solaris

Quiero reemplazar la cadena " / example / test / temp quot quot; t0 " / testing / in / progress / en todos los archivos xml en mi directorio.

cualquier puntero será grande.

gracias,

principiante

¿Fue útil?

Solución

¿Qué tal (todo en una línea):

find . \( -type d ! -name . -prune \) -o \( -type f -name "*.xml" -print \) |
    xargs perl -i.old -p -e 's-/example/test/temp-/testing/in/progress/-g'

Otros consejos

Use sed (1).

En general, es más seguro usar un procesador xslt para masajear archivos XML, pero en este ejemplo en particular, las posibilidades de algunos " funky " La representación XML que causa problemas es bastante remota ...

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