Too Much Information

Cómo borrar el contenido de una carpeta cuando ésta contiene demasiados archivos en UNIX.

Anuncios

Si alguna vez has intentado eliminar el contenido de una carpeta en UNIX ((Quiero decir Linux, imagino que también pasa en BSD, OpenBSD, Mac OS X, etcétera.)), es posible que te hayas encontrado con este problema:

$ rm * -f
-bash: /bin/rm: Argument list too long

Es decir, en la carpeta hay demasiados archivos y rm no puede con todos ellos. Una posible solución:

$ for i in `ls` ; do rm -f "$i" ; done

Banda sonora: ‘Too Much Information’ de The Police.

4 comentarios en “Too Much Information”

  1. Buena para probar el coloreado de codigo. 🙂

    Aún así: ‘rm -f “$i” ‘

    Si no lo cierras los espacios vuelven un nombre en varios argumentos inválidos y se vuelve riesgoso.

    Yo soy más parcial siempre del “ls -1 | while read line ; do rm -f “$line”;done” pero es ya cosa de costumbre de cada quien.

  2. Así funcionaría perfecto siempre y cuando un fichero no tenga en el nombre unas comillas (ah, el bueno de Unix, que no tiene casi caracteres prohibidos).

    -rw-r–r– 1 eduo eduo 0 Jan 25 23:38 ”
    -rw-r–r– 1 eduo eduo 0 Jan 25 23:38 ,
    -rw-r–r– 1 eduo eduo 0 Jan 25 23:38

    Sip. Eso es un fichero llamado ‘”‘, uno llamado ‘,’ y uno llamado ”

Los comentarios están cerrados.