shell-script-pt
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [shell-script] Normalizar nome de arquivo


From: Flavio Junior
Subject: Re: [shell-script] Normalizar nome de arquivo
Date: Tue, 7 Apr 2009 17:16:54 -0300

Bom..

Tu pode fazer em 3 passos, ou ajustar um sed gigante pra fazer isso..

Mas o exemplo que eu tenho aqui, pra converter espaços em branco por _ é esse:

$ find /diretorio -depth -print0 | xargs -0 -iVAR bash -c 'Nome="VAR";
echo mv -vf "$Nome" "${Nome// /_}"'

Se for SOMENTE arquivos, pode trocar o -depth por -type f, se envolver
diretorios tambem deixa o -depth q ele garante que a saida do find
seja invertida (primeiro os arquivos depois os diretorios pai).

Se quiser mandar tudo num sed so, só trabalhar ali em cima do ultimo
campo. Quando achar que ta tudo certo só remover o echo.

--

Flávio do Carmo Júnior aka waKKu

2009/4/7 Eduardo Jaime Quiros Batres <address@hidden>:
> Em Ter 07 Abr 2009, address@hidden escreveu:
>
>> Olá.
>>
>> Gostaria de "normalizar" nomes de arquivos, de forma que:
>>
>> 1) espaços são convertidos para sublinhados (_)
>> 2) letras maiúsculas são convetidas para letras minúsculas
>> 3) caracteres com acento são convertidos para caracteres sem acentos
>>
>> Tentei fazer um script para esta tarefa usando tr, mas descobri que o tr
>> não funciona com UTF-8.
>>
>>
>> $ cat /var/tmp/normaliza.sh
>> #! /bin/sh -x
>>
>> original="$1"
>>
>> echo "${original}" |\
>> tr '[:upper:]' '[:lower:]' |\
>> tr ' áéíóúâêîôûãẽĩõũàèìòùç' '_aeiouaeiouaeiouaeiouc'
>>
>> $ sh /var/tmp/normaliza.sh /alt/movies/gcstar/covers/Amor\ E\
>> Inocência.jpg
>> /alt/movies/gcstar/covers/amor_e_inocconcia.jpg
>>
>>
>> Alguma sugestão de como implementar esta funcionalidade?
>>
>> Romildo
>
> existem as zzfuncoes em versão tanto para utf8 como iso8859-1
> http://funcoeszz.net/
> em particular: http://funcoeszz.net/exemplos.html (ver zzarrumanome)
>
> download da versão utf8: http://funcoeszz.net/funcoeszz
> download da versão iso: http://funcoeszz.net/funcoeszz-iso
>
> 


reply via email to

[Prev in Thread] Current Thread [Next in Thread]