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: Fabiano Caixeta Duarte
Subject: Re: [shell-script] Normalizar nome de arquivo
Date: Wed, 8 Apr 2009 10:26:17 -0300

2009/4/7  <address@hidden>:
> 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

Solução tosca (iconv de ida e volta)

iconv -f utf-8 -t iso8859-1 <<< "/alt/movies/gcstar/covers/Amor E
Inocência.jpg" |
tr '[:upper:]' '[:lower:]' |
tr ' áéíóúâêîôûãẽĩõũàèìòùç' '_aeiouaeiouaeiouaeiouc' |
iconv -f iso8859-1 -t utf-8

É tosca, mas funciona :P

-- 
Fabiano Caixeta Duarte
Especialista em Redes de Computadores
Linux User #195299
Ribeirão Preto - SP


reply via email to

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