GNU/Linux >> Znalost Linux >  >> Linux

Jak odstranit Bom ze souboru UTF-8?

Mám soubor v kódování UTF-8 s kusovníkem a chci kusovník odstranit. Existují nějaké linuxové nástroje příkazového řádku pro odstranění kusovníku ze souboru?

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

Přijatá odpověď:

Pokud si nejste jisti, zda soubor obsahuje kusovník UTF-8, pak toto (za předpokladu GNU implementace sed ) odstraní kusovník, pokud existuje, nebo neprovede žádné změny, pokud neexistuje.

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

Můžete také přepsat existující soubor pomocí -i možnost:

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

Pokud používáte BSD verzi sed (např. macOS), pak musíte nechat bash provést escapování:

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

Linux
  1. Jak odstranit heslo z klíče SSL

  2. Jak odstranit řádky, které se objevují v souboru B, z jiného souboru A?

  3. Jak odstranit X bajtů z konce velkého souboru bez přečtení celého souboru?

  1. Bash skript k odstranění nejstaršího souboru ze složky?

  2. Jak použít sed k odstranění posledních n řádků souboru

  3. Jak se install -c liší od cp

  1. Jak odstranit heslo ze souboru pdf v Ubuntu

  2. Jak odstraním nové řádky z textového souboru?

  3. Jak zjistit, zda má soubor v Bash kusovník UTF-8?