Reemplazo múltiple - Userlinux.net

Dada una estructura de directorios X con un número variable de archivos Y, donde Y no es inferior a 300, ¿cambiarías manualmente una cadena 'cadena' por 'cadena2' en cada uno de los Y archivos?, ¿te volverías loco en tal hazaña?. Ambas preguntas tienen respuesta evidente: $ cd X/ $ for…

Reemplazo múltiple

31.Jan.2005 ~ 4 Comentarios ~ 2055 Lecturas
Dada una estructura de directorios X con un número variable de archivos Y, donde Y no es inferior a 300, ¿cambiarías manualmente una cadena 'cadena' por 'cadena2' en cada uno de los Y archivos?, ¿te volverías loco en tal hazaña?. Ambas preguntas tienen respuesta evidente:
$ cd X/
$ for f in `grep -r cadena * | cut -f 1 -d : | uniq`; do cat $f | sed s/cadena/cadena2/g > /tmp/temporal.temp && mv -f /tmp/temporal.temp $f; done
$ 
Recuérdalo pequeño saltamontes, te ahorrará muchas horas de trabajo ;).
Categorías: sistemas

Comentarios


gravatar
31.Jan.2005

gravatar
bodaah
31.Jan.2005
justo lo que yo pensaba, se lo estaba comentando a flexo antes via msn :)

gravatar
31.Jan.2005
¿Esto no machaca el propietario y los permisos originales de los archivos?

gravatar
04.Feb.2005
No he probado ese for todavía (últimamente ando con Windows) pero me guardo el truco. Yo hacía algo parecido para renombrar extensiones. Era la época del modem y de descargar los discos de música con extensiones ".pdf" / similares en algún servidorcillo web gratuito, con lo que para cambiar la extensión de pdf a mp3 hacía un... (espera que mire en el cuadernillo de las viejas chuletas)

rename .pdf .mp3 *.pdf


..en fin, lo dicho por roberto; va a ser mejor mirarse las man de rename jejeje

Un saludo

Comentarios


Los comentarios están cerrados: los comentarios se cierran automáticamente una vez pasados 15 días. Si quieres comentar algo acerca de la anotación, puedes hacerlo por e-mail.

Buscar

Cargando...

Últimos comentarios

  • graffic
  • reidrac
  • reidrac
  • Wu
  • dilam
  • r0sk
  • reidrac
  • r0sk
  • chucu
  • r0sk
  • el_palomo_programador
  • r0sk
  • reidrac
  • Player 1
  • r0sk

Moneting

Valor de mi cuenta de Facebook según Moneting
Valor de mi cuenta de Twitter según Moneting

Tagcloud

bsd humor bake twitter vacaciones ps3 hack 2007 python blog django alemania_2006 mundial cake felicidades games conciertos rsidenotes juegos openbsd web iphone sidenotes rfilms ubuntu barça cakephp blogsfera mac bash meme macosx deportes canción ds personal films freebsd 2008 opinion nintendo sysadmin futbol mysql php frases userlinux debian ssh linux blogs champions apple lugo league programación twitt lucux seguridad cumpleaños

Archivo

Social

Enlaces de interés