Grimoire-
Command
.es

GNU+Linux command memo

Memo_15 : Accès avancés aux fichiers

D’après l’édition 11 des travaux d’Alain Leaper, 2018-04-10
Licence GPL

1. hexdump

$ hexdump monFichier

La sortie est groupée par 2 octets "inversés" (ordre des octets de plus petit poids d’abord : little endian).

$ hexdump -C monFichier

La sortie est alors groupée octet par octet, dans l’ordre dit gros-boutiste ou big-endian, c’est à dire comme on écrit : avec les octets de poids forts en premier. Une traduction ASCII est également affichée à droite.

Pour un fichier unicode, (par exemple UTF-8) les caractères accentués sont remplacés ...

2. od

$ od -t x1 -c monFichier

La sortie est groupée octet par octet, dans l’ordre gros-boutiste.

Pour un fichier unicode UTF-8 les caractères accentués sont remplacés par les valeur octales des 2 octets représentant un caractère. Exemple: è → 0xc3 0xa8 affichage en octal 303 250.

L’ordre hexa / ASCII peut être inversé :

$ od -c  -t  x1 f3

Sortie avec ASCII en premier.

En cas de ligne longue, le décalage de l’affichage entre valeurs et ASCII complique la lecture.

3. recode : conversion Unicode en ISO8859-1 ou l’inverse

La commance recode vient avec le paquet éponyme.

Pour voir les formats disponibles :

$ recode -l

Pour convertir d’UTF-8 ves ISO8859-1 :

$ recode utf8..iso8859-1 monFichier

Pour convertir d’ISO8859-1 vers UTF-8 :

$ recode iso8859-1..utf-8 monFichier

Pour convertir d’UTF-8 vers ASCII :

$ recode utf8..ASCII-BS monFichier

Les caractères accentués sont remplacés par leur équivalent non accentué.

4. convmv : changer l’encodage des noms de fichier

La commande convmv vient avec le paquet éponyme.

Lister les encodages disponibles :

$ convmv --list

Convertir les noms de fichier de latin1 à UTF-8 :

$ convmv -f latin1 -t utf-8 -r <cheminVersLesFichiers>

Tester et afficher ce que la commande pense avoir à faire avant de la lancer :

$ convmv -f latin1 -t utf-8 -r --exec "echo #1 serait renommé #2" <dossierÀTraiter>