Konverter flere filer til UTF-8 encoding med *nix kommandolinjeværktøjer: En trin-for-trin guide

Hvordan kan flere filer konverteres til UTF-8 encoding ved brug af *nix kommandolinjeværktøjer, når de nuværende filer bruger charset=iso-8859-1?

For at konvertere flere filer fra ISO-8859-1 til UTF-8 encoding ved brug af *nix kommandolinjeværktøjer, kan du anvende `iconv`, `find` og `xargs`, `sed`, eller `parallel` for effektivitet og hastighed.

Sådan konverteres flere filer til UTF-8 encoding ved brug af *nix kommandolinjeværktøjer

Hvis du har flere filer, der bruger charset=iso-8859-1, og du ønsker at konvertere dem til UTF-8 encoding, kan du bruge forskellige *nix kommandolinjeværktøjer. Her er en trin-for-trin guide:

1. Brug `iconv` værktøjet

`iconv` er et kraftfuldt værktøj til konvertering af tekstfiler mellem forskellige karakterkodninger.

  • Åbn terminalen.
  • Brug følgende kommando for at konvertere en enkelt fil:
    iconv -f ISO-8859-1 -t UTF-8 inputfile.txt -o outputfile.txt
  • For at konvertere flere filer i en mappe, kan du bruge en `for`-loop:
    for file in *.txt; do iconv -f ISO-8859-1 -t UTF-8 "$file" -o "utf8_$file"; done

2. Brug `find` og `xargs`

Hvis du har mange filer i forskellige underkataloger, kan du kombinere `find` og `xargs` for at konvertere dem alle.

  • Åbn terminalen.
  • Brug følgende kommando:
    find . -name "*.txt" -print0 | xargs -0 -I {} sh -c 'iconv -f ISO-8859-1 -t UTF-8 "{}" -o "utf8_{}"' 

3. Brug `sed` til at ændre filnavne

Hvis du ønsker at ændre filnavne efter konvertering, kan du bruge `sed` sammen med `iconv`.

  • Åbn terminalen.
  • Brug følgende kommando:
    for file in *.txt; do iconv -f ISO-8859-1 -t UTF-8 "$file" -o "$(echo "$file" | sed 's/.txt$/_utf8.txt/')"; done

4. Brug `parallel` for hurtigere konvertering

Hvis du har mange filer og ønsker at konvertere dem hurtigere, kan du bruge `parallel` til at udføre konverteringen parallelt.

  • Installer `parallel` hvis det ikke allerede er installeret:
    sudo apt-get install parallel
  • Brug følgende kommando:
    find . -name "*.txt" | parallel 'iconv -f ISO-8859-1 -t UTF-8 {} -o utf8_{.}.txt'

Ved at følge disse trin kan du effektivt konvertere flere filer fra ISO-8859-1 til UTF-8 encoding ved brug af *nix kommandolinjeværktøjer.