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

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

Alterando nomes de arquivos com caracteres especiais


From: aiok_gui
Subject: Alterando nomes de arquivos com caracteres especiais
Date: Thu, 14 Aug 2008 17:49:52 -0000
User-agent: eGroups-EW/0.82

Olá amigos,

Meu nome é Victor e usei muito o Linux de 97 a 2001. Depois dei uma
parada para trabalhar com Win (coisas do ofício).

Bem, atualmente estamos incubados na Fundação Softville, em Joinville-SC. 

Estou com um problema e após procurar e estudar bastante e não
conseguir resolver meu problema, fui procurar nos fóruns para ver se
encontrava uma solução.

Achei um post do Julio Cezar Neves para renomear um grupo de arquivos
com caracteres especiais (acentuados).

Vou relatar meu problema e gostaria que, se possível, vocês nos
ajudassem: Tenho uma máquina com Windows XP (hda1 - C: e hda2 - D:).
Ao instalar o Debian 4, eu provavelmente alterei o hda2 para hidden.
Bem, consegui com o gpart/cfdisk recuperar a partição.
Ao entrar no Windows, lá está o D:, mas vazio. Retornando no Linux,
montei como root a partição, consegui ler os arquivos, mas não consigo
gravar na partição, mesmo mudando as permissões para total (777).

Bem, uma solução para recuperar os arquivos, a partir do Linux, seria
gravar os dados do D: (hda2) para um diretório qualquer (p.e.
/home/d), mas como os arquivos acentuados aparecem com o caracter "?",
que é um coringa, não consegui copiar/mover.

O script do Julio que encontrei é o script abaixo adaptado por mim:

#!/bin/bash
#
# Testando se vc passou o diretorio como parametro
# default = diretorio corrente.
#
if [ $# -eq 1 ]
then
Dir=$1
else
Dir="."
fi
cd $Dir
for ComAcen in `ls -R | grep '[\?]'`
do
SemAcen=`echo $ComAcen | tr "[\?]" "[x]"`

# listando os 2 em ordem cronologica (-t) e
# pegando o + novo (head -1). Se o que acabamos de tirar
# os acentos for mais novo, será renomeado.
mv -f $ComAcen $SemAcen
done

-------------

Como não terei arquivos com nomes repetidos, o if que fazia este teste
dentro do for foi retirado.

Fui pra linha de comando, gravei este arquivo em /mnt e mudei
a permissão para execução. Mas ao executar, ele não faz o que
gostaria, ou seja, mudar o "?" para "x".
Já tentei mudar de "/?" para "?", mas também não funcionou.

Alguém poderia me ajudar?

Cordialmente,

Victor



reply via email to

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