Convertir du texte en ASCII 7 bits à partir de la ligne de commande
Je suis sur OS X 10.5.5 (si elle n'a pas beaucoup d'importance, je suppose)
J'ai un ensemble de fichiers texte avec des caractères de fantaisie comme le double des backquotes, ellipsises ("...") dans un seul personnage, etc.
J'ai besoin de convertir ces fichiers au bon vieux plaine ASCII 7 bits, de préférence sans perdre de caractère (qui est, de convertir ces points de suspension à trois périodes, backquotes d'habitude "s etc.).
Veuillez informer intelligente de ligne de commande (bash) d'un outil de script pour le faire.
OriginalL'auteur Alexander Gladysh | 2008-10-17
Vous devez vous connecter pour publier un commentaire.
La Elinks navigateur web convertir Unicode entités à leurs équivalents ASCII, de donner des choses comme "--" pour "—" et les "..." par "...", etc. Il existe un module python python-elinks qui utilise la même table de conversion, et il serait trivial de le transformer en un shell filtre, comme ceci:
OriginalL'auteur Josh Lee
iconv devrait le faire, pour autant que je sais. Pas certain à 100% sur la manière dont il gère les conversions où une entrée de caractères devrait/pourrait devenir plusieurs caractères de sortie, comme avec les points de suspension exemple ... quelque Chose à essayer!
Mise à jour: j'ai essayé, et il semble que ça ne fonctionne pas. Il ne parvient pas, probablement parce qu'il ne sait pas comment exprimer des points de suspension (le test de caractère que j'ai utilisé) dans un "petit" encodage. La conversion de l'UTF-8, UTF-16 s'est bien passé. :/Encore, iconv pourrait être intéressant d'étudier plus tard.
OriginalL'auteur unwind
Ont un look à la translittération des outils; j'aime Unidecode (en Perl), et il n'est pas trop difficile de port à d'autres langues.
OriginalL'auteur
J'ai utilisé iconv pour convertir un fichier du format UTF-16LE (little-endian comme je l'ai appris par essais et erreurs) qui a été créé par TextPad dans Windows en ASCII sur OSX comme ceci:
Vous pouvez pipe à travers hexdump ainsi pour afficher les caractères et assurez-vous que vous obtenez le droit de sortie, le terminal sait comment interpréter UTF-16 et l'affiche correctement de sorte que vous ne pouvez pas dire tout simplement, mais de faire "chat" sur le fichier:
Cela montre la mise en page avec le sortilège de char et de codes ASCII des caractères à la droite, et vous pouvez essayer différents encodages dans l'-f "de" paramètre de comprendre ce que vous avez à traiter avec des.
Utiliser "iconv -l' pour avoir la liste des jeux de caractères iconv pouvez utiliser sur votre système.
OriginalL'auteur glennkentwell
Il a été question hier ou avant-propos de renommer des fichiers, et j'ai montré un script Perl
rename.pl
qui serait utile pour la tâche. Le problème est de savoir comment l'étrange caractères sont codés, et à l'élaboration de la séquence correcte des translittérations. Je serais probablement le faire avec une adaptation de script qui a fait tous les mappages de manière séquentielle. Faire un personnage à la fois serait trop fastidieux.Question était: Comment renommer avec le préfixe/suffixe
OriginalL'auteur Jonathan Leffler
python3 version:
Il vaut la peine de mentionner que python-elinks est pur python; aucune installation nécessaire.
OriginalL'auteur rsanden