Archivo etiqueta find

/bin/tar: Argument list too long

Cuando necesitas empaquetar una cantidad muy grande de ficheros, es posible que tar no te lo permite. Para solucionar esto, puedes probar lo siguiente:

find . -name '*.txt' -print >/tmp/filesToPack
tar -cvzf textfiles.tar.gz --files-from /tmp/filesToPack
find . -name '*.txt' | xargs rm -v

{lang: 'es'}

, , , , , ,

No hay Comentarios

Comando find de Unix (GNU/Linux)

Existe un comando en sistemas Unix muy útil para poder encontrar ficheros con determinadas
características, es el comando find.

  • Para buscar los ficheros más grandes del sistema:
    find / -size +100000k -exec ls -lh '{}' ;
  • Para buscar los ficheros modificados recientemente (Último día):
    find / -mtime 0 -exec ls -lh '{}' ;
  • Para buscar los ficheros modificados recientemente (Último minuto):
    find / -mmin 0 -exec ls -lh '{}' ;

Para buscar ficheros de una fecha especifica, se puede intentar con lo siguiente:

$ ls -l | grep “`date ‘+%b %d’` 09:[1-5][0-9]“

que buscaría los ficheros modificados hoy entre las 9.00 y las 9.59… aunque seguro que hay alguna forma mejor de hacer esto. ¿A alguien se le ocurre?

{lang: 'es'}

, , , , , ,

6 Comentarios

Listar SÓLO directorios en Bash

Hoy haciendo un Shell Script me ha surgido la necesidad de hacer un listado de los directorios (y no ficheros) que hay en una determinada ruta.

Al parecer el comando ls no dispone de esta utilidad… cosa que me parece un poco extraña, pero he encontrado un modo de hacerlo con find.

$ find . -maxdepth 1 -type d

Incluso, para más comodidad te puedes hacer un alias:

$ alias lsdirs='find . -maxdepth 1 -type d'

{lang: 'es'}

, , , , , , ,

11 Comentarios