GNU/Linux >> Tutoriels Linux >  >> Linux

Comment supprimer le Bom d'un fichier UTF-8 ?

J'ai un fichier en encodage UTF-8 avec BOM et je souhaite supprimer le BOM. Existe-t-il des outils de ligne de commande Linux pour supprimer la nomenclature du fichier ?

$ file test.xml
test.xml:  XML 1.0 document, UTF-8 Unicode (with BOM) text, with very long lines

Réponse acceptée :

Si vous n'êtes pas sûr que le fichier contient une nomenclature UTF-8, alors ceci (en supposant que l'implémentation GNU de sed ) supprimera la nomenclature si elle existe, ou n'apportera aucune modification si ce n'est pas le cas.

sed '1s/^xEFxBBxBF//' < orig.txt > new.txt

Vous pouvez également écraser le fichier existant avec le -i choix :

sed -i '1s/^xEFxBBxBF//' orig.txt

Si vous utilisez la version BSD de sed (par exemple macOS) alors vous devez laisser bash faire l'échappement :

 sed $'1s/xefxbbxbf//' < orig.txt > new.txt

Linux
  1. Comment supprimer les lignes qui apparaissent sur le fichier B d'un autre fichier A ?

  2. Comment supprimer X octets à la fin d'un gros fichier sans lire tout le fichier ?

  3. Comment détecter si un fichier a une nomenclature UTF-8 dans Bash ?

  4. Comment effacer le contenu d'un fichier depuis la ligne de commande ?

  5. Comment supprimer le périphérique de cache de bcache ?

Comment supprimer le bureau Unity d'Ubuntu 17.10

Comment supprimer le mot de passe d'un fichier PDF sous Linux

Comment obtenir le nom de fichier à partir du chemin complet sous Linux

Comment supprimer des lignes d'un fichier à l'aide de la commande Sed

Comment supprimer les caractères (^M) d'un fichier sous Linux

Comment supprimer tous les espaces blancs d'un fichier texte