GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Wie entferne ich die Bom aus einer UTF-8-Datei?

Ich habe eine Datei in UTF-8-Codierung mit BOM und möchte die BOM entfernen. Gibt es Linux-Befehlszeilentools zum Entfernen der BOM aus der Datei?

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

Akzeptierte Antwort:

Wenn Sie sich nicht sicher sind, ob die Datei ein UTF-8-BOM enthält, dann ist dies (unter der Annahme der GNU-Implementierung von sed ) entfernt die Stückliste, falls vorhanden, oder nimmt keine Änderungen vor, falls dies nicht der Fall ist.

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

Sie können die vorhandene Datei auch mit dem -i überschreiben Möglichkeit:

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

Wenn Sie die BSD-Version von sed verwenden (z. B. macOS) dann müssen Sie bash das Escaping durchführen lassen:

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

Linux
  1. Bash-Skript zum Entfernen der ältesten Datei aus einem Ordner?

  2. Wie entferne ich X Bytes vom Ende einer großen Datei, ohne die gesamte Datei zu lesen?

  3. So verwenden Sie sed, um die letzten n Zeilen einer Datei zu entfernen

  4. Wie kann man in Bash erkennen, ob eine Datei eine UTF-8-BOM hat?

  5. Wie lösche ich den Inhalt einer Datei über die Befehlszeile?

So entfernen Sie den Unity-Desktop von Ubuntu 17.10

So entfernen Sie ein Passwort aus einer PDF-Datei unter Linux

So erhalten Sie den Dateinamen aus dem vollständigen Pfad in Linux

So entfernen Sie Zeilen aus einer Datei mit dem Sed-Befehl

So entfernen Sie (^M) Zeichen aus einer Datei in Linux

So entfernen Sie alle Leerzeichen aus einer Textdatei