Konverter tekstfiler til UTF-8: Effektive metoder med Perl, iconv og Python

Hvordan kan en masse tekstfiler konverteres fra en given tegnsætning til UTF-8 ved hjælp af kommandolinjeværktøjer eller en-liners i Perl (eller et andet sprog)?

At konvertere en masse tekstfiler fra en given tegnsætning til UTF-8 kan gøres ved hjælp af kommandolinjeværktøjer som Perl, iconv eller Python, hvilket sikrer korrekt visning og behandling af tekstdata.

Sådan konverteres en masse tekstfiler fra en given tegnsætning til UTF-8 ved hjælp af kommandolinjeværktøjer eller en-liners i Perl

At konvertere en masse tekstfiler fra en given tegnsætning til UTF-8 kan være en nødvendig opgave for at sikre korrekt visning og behandling af tekstdata. Her er nogle metoder til at gøre dette ved hjælp af kommandolinjeværktøjer og en-liners i Perl:

Brug af Perl

Perl er et kraftfuldt sprog til tekstbehandling og kan nemt bruges til at konvertere tegnsætning. Her er en en-liner til at konvertere filer:

perl -i.bak -pe 'use Encode; $_ = encode("UTF-8", decode("ISO-8859-1", $_))' *.txt
  • -i.bak: Opretter en backup af den originale fil med udvidelsen .bak.
  • -pe: Udfører koden på hver linje af inputfilen.
  • use Encode;: Importerer Encode-modulet til tegnsætningskonvertering.
  • encode("UTF-8", decode("ISO-8859-1", $_)): Dekoder linjen fra ISO-8859-1 og koder den derefter til UTF-8.
  • *.txt: Matcher alle tekstfiler i den aktuelle mappe.

Brug af iconv

iconv er et kommandolinjeværktøj, der kan bruges til at konvertere tegnsætning. Her er et eksempel på, hvordan du kan bruge det:

for file in *.txt; do iconv -f ISO-8859-1 -t UTF-8 "$file" -o "${file%.txt}_utf8.txt"; done
  • for file in *.txt; do ... done: En loop, der går igennem alle tekstfiler i den aktuelle mappe.
  • iconv -f ISO-8859-1 -t UTF-8 "$file" -o "${file%.txt}_utf8.txt": Konverterer filen fra ISO-8859-1 til UTF-8 og gemmer den som en ny fil med "_utf8" tilføjet til filnavnet.

Brug af Python

Python kan også bruges til at konvertere tegnsætning. Her er et eksempel på en en-liner i Python:

python -c "import os; [open(f'{file}_utf8.txt', 'w', encoding='utf-8').write(open(file, encoding='iso-8859-1').read()) for file in os.listdir('.') if file.endswith('.txt')]"
  • import os: Importerer os-modulet til filhåndtering.
  • [open(f'{file}_utf8.txt', 'w', encoding='utf-8').write(open(file, encoding='iso-8859-1').read()) for file in os.listdir('.') if file.endswith('.txt')]: Læser hver tekstfil i den aktuelle mappe med ISO-8859-1 tegnsætning og skriver den til en ny fil med UTF-8 tegnsætning.

Disse metoder giver dig fleksibilitet til at vælge det værktøj, der passer bedst til dine behov og dit miljø.

Opret din første opgave på få minutter

Spar dig selv for besvær og kom igennem din to-do liste i dag

1

Beskriv din opgave

2

Modtag bud

3

Få løst din opgave

opgaver platform services

Møbelsamling

Hjælp med at samle Ikea klædeskab

opgaver platform services

Maler

Klargøring af lejlighed til flyttesyn

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Havearbejde

Beskæring af 4 større træer

opgaver platform services

IT support

Geninstallering af windows + programmer

opgaver platform services

Elektriker

Installation af Sonos musikanlæg i hus

opgaver platform services

Rengøring

Ugentlig rengøring af lejlighed (114kvm)

opgaver platform services

Flyttehjælp

Flytning af 150 kvm hus til Roskilde fra København

opgaver platform services

Elektriker

Opsætning af lamper i stue og soveværelse

opgaver platform services

Catering

3-retters menu til 14 mennesker