ESTA NÃO É UMA BOA IDÉIA
O convmv
é apenas um script Perl simples, então o código é muito fácil de editar. Está definido para sair se certos testes falharem, dizendo para ignorar os resultados do teste e continuar, eu consegui fazer:
../convmv.modified.pl --notest -f utf8 -t windows-1255 זטחם�.docx
Your Perl version has fleas #37757 #49830
cp1255 doesn't cover all needed characters for: "./זטחם�.docx"
mv "./זטחם�.docx" "./����"
Ready!
Isso criou um arquivo chamado ????
, então eu poderia usar o% normalconvmv
para alterar sua codificação para utf8 (tive que usar find
porque eu não pude dar ????
como nome de arquivo):
find . -type f -exec convmv --notest -f windows-1255 -t utf8 {} \;
$ find . -type f -exec convmv --notest -f windows-1255 -t utf8 {} \;
Your Perl version has fleas #37757 #49830
mv "./����" "./זטחם"
Ready!
Em seguida, renomei o arquivo para adicionar a extensão docx
( mv זטחם זטחם.docx
) e poderia abrir o arquivo no libre office.
Esta é uma má ideia porque eu não resolvi o problema que impediu que o convmv
convertesse corretamente seus arquivos, eu simplesmente os ignorei. Eu acho que o problema é que sua primeira conversão equivocada adicionou caracteres estranhos ao nome do arquivo que convmv
não sabe como lidar. Eu não posso garantir isso (ou mesmo oferecer uma opinião sobre se) isso não prejudicará seus arquivos. Eu recomendo que você experimente primeiro o arquivo e veja se ele realmente funciona.
O outro problema é que eu esperava que o nome do arquivo estivesse no mesmo alfabeto que o texto do arquivo e não é (eu acho), então a operação inteira provavelmente falhou. Como não consigo ler o alfabeto em questão, não posso ter certeza.
De qualquer forma, se você quiser tentar, você precisa fazer as seguintes alterações em /usr/bin/convmv
:
-
Comente a linha 359, altere isto:
die "To prevent damage to your files, we won't continue.\nFirst fix errors or correct options!\n" if ($errors_occurred);
Para isso:
#die "To prevent damage to your files, we won't continue.\nFirst fix errors or correct options!\n" if ($errors_occurred);
-
E altere isso (linha 460):
from_to($newname, $opt_f, $opt_t, Encode::FB_QUIET) or die "SHOULD NOT HAPPEN HERE: conversion error, so suitable charset used?: \"$oldfile\"\nTo prevent damage to your files, we won't continue. First fix this!\n";
para isso:
from_to($newname, $opt_f, $opt_t, Encode::FB_QUIET);