Pular para o conteúdo

Limpar nome de ficheiros pdf

Responder tópico
  • Denunciar
  • Indicar

1. Limpar nome de ficheiros pdf

Enviado em 15/12/2017 - 23:19h

Boas pretendo remover acentos, espaços e coisas esquisitas dos nomes de todos os arquivos pdf que tenho num servidor.

Preciso de garantir duas coisas:

1-que todos os espaços são substituidos por underline ( _ );
2-Que não dá besteira e me apaga alguns ficheiros pdf;

Criei vários scripts, cada um com um método diferente:

for i in *.pdf
do
j=`echo "$i" | sed 'y/áÁàÀãÃâÂéÉêÊíÍóÓõÕôÔúÚçÇ/aAaAaAaAeEeEiIoOoOoOuUcC/'` # remover acentos dos caracteres de nomes de ficheiros
mv "$i" "$j"
done



for i in *.pdf
do
j=`echo "$i" | sed 's/[^A-Za-z0-9_.]//g'`
mv "$i" "$j"
done



text_to_ascii(){
echo "$(iconv -t "ASCII//IGNORE" <<< "$1")"
} #//end text_to_asci()

for filename in ./*
do
clean_filename="$(text_to_ascii "$filename")"
mv -iv "$filename" "$clean_filename"
done
# vai substituir todos os espacos por underline
rename -v 'y/ /_/' *.*


Qual deles acham melhor?

Responder tópico

2. Re: Limpar nome de ficheiros pdf

Enviado em 16/12/2017 - 19:57h

Estou a tentar executar o script de várias maneiras mas não estou a conseguir:


$ ./zzarrumanome.sh arrumarnomes/ -n -d -r dfdf\ dfdf.txt
$ ls -la arrumarnomes/
total 8
drwxrwxr-x 2 xxx xxx 4096 Dez 16 21:53 .
drwxr-xr-x 10 xxx xxx 4096 Dez 16 21:54 ..
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:41 dfdf dfdf.txt
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:40 dsfd.txt
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:40 ef.txt
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:42 jfdg
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:42 jfdg =?.txt
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:42 lf á é.txt
-rw-rw-r-- 1 xxx xxx 0 Dez 16 21:41 rtrt ?lsdfdf.txt


Como devo chamar o script para o executar?
Não estou a conseguir perceber as instruções que estão no interior do script!
Obrigado

4. Re: Limpar nome de ficheiros pdf

Enviado em 16/12/2017 - 20:33h

Li, mas se fizer ./nome_do_script -n -d -r nomedapastaondeestaoosficheiros/*

Não executa nada. Mesmo após ter dado perfil de execução ao script

Responder tópico

Responder tópico

Entre na sua conta para responder.

Fazer login para responder