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