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

Responder a