O IFS (separador de campo) do shell por padrão é: 1º o espaço em
branco, 2º o TAB e 3º o ENTER. Assim, sempre que ele achar um desses
três vai considerar que acabou um campo e está começando outro. Podes
mudar isso, setando o IFS para ser somente o ENTER:


IFS="
"
for i in $(ls)
do
echo $i
done


Abraço,
Amador Pahim






________________________________
De: Leonardo <aaa.leona...@gmail.com>
Para: shell-script@yahoogrupos.com.br
Enviadas: Terça-feira, 5 de Maio de 2009 10:49:52
Assunto: [shell-script] Trocar : por . em nomes de arquivos de um diretório





Olá,

Tenho um diretório que tem vários arquivos com : em algum lugar do nome.
Esses arquivos são de nomes longos, com espaços separando as palavras. Ex.:
"Nome: do arquivo.pdf" .

Eu tentei mudar o caracter fazendo um for e usando tr, mas não funcionou
porque o for i in `ls` itera em cima de cada palavra dos nomes do arquivos.
Gostaria de saber como posso fazer para trocar o nome de cada arquivo  que
contenha ":"  em um diretório, e trocar o ":" por ".".

Atc,

Leonardo Andrade.

[As partes desta mensagem que não continham texto foram removidas]


   


      Veja quais são os assuntos do momento no Yahoo! +Buscados
http://br.maisbuscados.yahoo.com

[As partes desta mensagem que não continham texto foram removidas]

Responder a