Too Much Information

Si alguna vez has intentado eliminar el contenido de una carpeta en UNIX1, 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.

  1. Quiero decir Linux, imagino que también pasa en BSD, OpenBSD, Mac OS X, etcétera. []

4 pensamientos 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 ‘\’

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos necesarios están marcados *

*

Puedes usar las siguientes etiquetas y atributos HTML: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong> <pre lang="" line="" escaped="" highlight="">