GNU/Linux >> Linux Esercitazione >  >> Linux

Come rimuovere la Bom da un file Utf-8?

Ho un file con codifica UTF-8 con BOM e voglio rimuovere la BOM. Esistono strumenti da riga di comando Linux per rimuovere la distinta base dal file?

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

Risposta accettata:

Se non sei sicuro che il file contenga una distinta base UTF-8, allora questo (supponendo l'implementazione GNU di sed ) rimuoverà la distinta base se esiste o non apporterà modifiche in caso contrario.

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

Puoi anche sovrascrivere il file esistente con -i opzione:

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

Se stai usando la versione BSD di sed (ad es. macOS), quindi devi fare in modo che bash esegua l'escape:

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

Linux
  1. Script Bash per rimuovere il file più vecchio da una cartella?

  2. Come rimuovo le nuove righe da un file di testo?

  3. Come rimuovere le linee che appaiono sul file B da un altro file A?

  4. Come rimuovere X byte dalla fine di un file di grandi dimensioni senza leggere l'intero file?

  5. Come usare sed per rimuovere le ultime n righe di un file

Come rimuovere Unity Desktop da Ubuntu 17.10

Come rimuovere la password da un file PDF in Linux

Come ottenere il nome del file dal percorso completo in Linux

Come rimuovere le righe da un file usando il comando Sed

Come rimuovere (^M) caratteri da un file in Linux

Come rimuovere tutti i caratteri di spazio bianco da un file di testo