lunes, febrero 04, 2008

Manejo de Archivos

Para borrar archivos más antiguos de 7 días ejecutar lo siguiente:

#> find /var/log/ -ctime +7 -exec rm {} \;

Para añadir una línea al principio de todos los archivos llamados "Makefile" en directorios y subdirectorios:

#> find /ruta/directorio -name Makefile | xargs sed -i i\texto_a_insertar

Para borrar todos los ficheros llamados "hola.txt" en directorio y subdirectorios:

find /ruta/directorio/ -type f -name 'hola.txt' -exec rm -f {} \;

Copiar todos los archivos "png" del directorio y subdirectorios "/usr/share/icons" al directorio "resus":

find /usr/share/icons/ -name "*.png" -exec cp {} resus \;

Otros ejemplos:

find /media/D2/ -name ".*" -exec ls {} \;|more
find /media/D2/ -name ".*" -exec rm {} \;|more

Reemplazar palabras dentro de ficheros

Para reemplazar palabras dentro de archivos en un directorio y subdirectorios realizar lo siguiente:

#> find /ruta/directorio -type f | xargs sed -i s/palabra_antigua/palabra_nueva/g

Con el editor vi (vim) realizar lo siguiente:

:%s#/ruta/a/cambiar#/nueva/ruta#

Para cambiar palabras dentro de vim:

:1,$ s/natty/oneiric/g