$ ls
.bash_history .bashrc -rw-r--r--
$ file *rw*
-rw-r--r--: gzip compressed data, from MS-DOS
Lo intento listar, mover, descomprimir y no lo permite
$ ls '-rw-r--r--'
ls: invalid line width: -r--r--
$ mv '-rw-r--r--' rw
mv: invalid option -- r
Try `mv --help' for more information.
$ ls \-rw\-r\-\-r\-\-
ls: invalid line width: -r--r--
Intentando varias formas por fin logre renombrarlo
$ find . -name "-rw*" -exec mv {} rw.gz \;
$ ls
.bash_history .bashrc rw.gz
5 comentarios:
Hay una forma mucho más fácil.
mv -- -rw-r--r-- rw.gz
El parámetro -- es para tomar archivos con guiones.
opción muy interesante, no la vi documentada en el man
Solo tienes que usar las comillas invertidas (man de bash)
rm ´-rw*´
http://koshrf.fercusoft.com/
Intente, pero creo que no...
$ mv ´--algo´ algo
mv: no se puede efectuar `stat' sobre «´--algo´»: No existe el fichero ó directorio
$ mv `--algo` algo
bash: --algo: orden no encontrada
mv: falta el operando archivo de destino después de «algo»
Pruebe `mv --help' para más información.
Já, no aceptes explicaciones sin entenderlas ;-)
Respecto a lo que dice Thot: Cierto, y muy generalizable. «--» significa para casi todas las utilidades GNU «ya terminé de darte los switches, a continuación van los argumentos», entonces, ya no toma a «-rw» como un argumento.
Respecto a lo que dice anónimo... ¿Qué hacen las comillas invertidas? intentan ejecutar lo que tengan dentro, y te entregan el resultado de su ejecución. Afortunadamente tu anónimo no puso algo que resultara en que el resultado te diera «-rf .» ;-)
Pero bueno, más aún: Lo que él puso como comillas invertidas (´) no es una comilla invertida — Es un acento sobre de nada. Tú intentaste más adelante usar las comillas invertidas (y por eso te dio el «órden no encontrada»).
Publicar un comentario