Re: ficheros con espacios?
On Tue, Jun 24, 2003 at 06:37:59AM +0200, David Ballano wrote:
> Hola chicos,
>
Olá.
>
>
> Tengo un problemilla,
>
>
>
> Resulta que tengo unos ficheros en un directorio, estos ficheros los quiero
> mover a otro mediante un for Etc ?
>
> El problema es que algunos de los ficheros tienen espacios Ej. : fichero
> numero 1.rar
>
>
>
> Lo que hago es más o menos esto : for i in `ls` do bla bla bla done
>
> Pero claro el for me coge palabra a palabra y no todo el nombre? he estado
> pensando como cambiar el nombre del fichero o ficheros con rename con mv y
> con sed pero claro sigo teniendo el mismo problema.
>
>
En Bash para almacenar un string con espacios en blanco en una
variable debes poner "" o '', aunque difirieren en su
comportamiento. En el caso del for deberías utilizar "", es decir:
for i in "`ls`":
do
......
......
done
Tengo un script para cambiar los espacios en blanco por '_' (manías...). Se
puede hacer mejor, pero asi va funcionando (: Aquí te lo pongo por
si quieres usarlo.
#!/bin/sh
#
# relb.sh
#
# renomea eliminado brancos
#
E_SENARG=65 # sinal devolta no caso de q nom ache nengun argumento
if [ -z "$1" ]
then
echo "`basename $0`: Uso: `basename $0` ficheiro [ficheiros]"
exit $E_SENARG
fi
until [ -z "$1" ]
do
if [ -e "$1" ]
then
mv "$1" `echo $1 | sed y/\ /_/ | tr A-Z a-z`
else
echo "`basename $0`: ^e: ficheiro $1 nom existe"
fi
shift
done
exit 0
>
> Otra cosa que se me ha ocurrido es: como puedo poner un espacio ? ? para que
> Linux lo entienda, código ASCII?¿ creo recordar que en C podía poner el
> valor ASCII de las teclas pero es que lo que estoy haciendo es shellscript?
> total que no me sale na..
>
Utilizando '\ ' . nombre largo de archivo -> nombre\ largo\ de\ archivo
$ touch nombre\ largo\ de\ archivo
>
>
> Me podéis iluminar un poco no caigo y presiento que podría ser una tontería,
- Bash-Prog-Intro-HOWTO (en el paquete doc-linux-es)
- abs-guide (también como paquete)
> gracias!
>
>
Nada. Xau!
>
>
--
Porqué loitar e matar, se podes amar e sonhar
/"\
\ / CAMPANHA DA FITA ASCII - CONTRA MAIL HTML
X ASCII RIBBON CAMPAIGN - AGAINST HTML MAIL
/ \
Reply to: