2009/5/5 Leonardo <aaa.leona...@gmail.com>: > 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.
Uma outra solução que ainda não citaram é usar o comando rename, caso você tenha instalado. Exemplo: $ ls -l total 0 -rw-r--r-- 1 gmgall globus 0 Mai 5 16:14 arquivo: 1.pdf -rw-r--r-- 1 gmgall globus 0 Mai 5 16:14 arquivo: 2.pdf -rw-r--r-- 1 gmgall globus 0 Mai 5 16:14 arquivo: 3.pdf $ rename 's/:/./g' * $ ls -l total 0 -rw-r--r-- 1 gmgall globus 0 Mai 5 16:14 arquivo. 1.pdf -rw-r--r-- 1 gmgall globus 0 Mai 5 16:14 arquivo. 2.pdf -rw-r--r-- 1 gmgall globus 0 Mai 5 16:14 arquivo. 3.pdf Saudações Guilherme Magalhães Gall (GMGall) GPG Public Key ID: 0F498058