Sådan bruger du fold-kommandoen på Linux

Linux fold-kommandoen bringer uregerligt output til hæl. Læs brede bidder af tekst, endeløse strenge og uformaterede streams ved at kontrollere bredden af ​​outputtet. Lær hvordan.

Hvordan tekstlinjer fungerer i Linux-terminalen

Første regel i Linux-kamp: kend din fjende. Så lad os definere det. Hvad er en tekstlinje egentlig? Det er en sekvens af tegn – bogstaver, tal, symboler og mellemrum – der afsluttes af en speciel byte, der betyder “start en ny linje.” I Linux og Unix, den nye linje karakter, også kaldet en linefeed, bruges som slutningen af ​​linje-indikator. Dette er en byte med en værdi på 0x0a in hexadecimal og ti i decimaler.

Forskellige operativsystemer bruger forskellige byteværdier til at angive slutningen af ​​en linje. Windows bruger en to-byte sekvens. I Windows-tekstfiler efterfølges den nye linje umiddelbart af vognretur karakter, som er 0x0d i hexadecimal og tretten i decimal.

  Sådan installeres og aktiveres Bitcoin Core Wallet på Linux

Begreberne “linefeed” og “carriage return” går tilbage til skrivemaskinen. Pladen, cylinderen, som papiret var viklet om, var monteret på en bevægelig vogn. Vognen flyttede en karakters bredde til venstre, hver gang du trykker på en tast. For at starte en ny linje skubbede du et håndtag, der bragte vognen tilbage til sin oprindelige position, og som roterede rullen og flyttede papiret opad i højden af ​​en linje. Denne handling blev kendt som vognretur, og rotationen af ​​cylinderen (og fremføringen af ​​papiret) var kendt som en linefeed.

Håndtaget blev erstattet af en nøgle, da skrivemaskinen blev elektrificeret. Nøglen var mærket Carriage Return eller bare Return. Nogle tidlige computere som f.eks BBC Micro stadig brugt navnet Return på det, vi nu kalder Enter-tasten.

  Sådan konfigureres Rsync på Linux

Du kan som regel ikke se nye linjetegn. Du kan kun se deres effekt. Newline-tegnet tvinger software, der viser eller behandler tekst, til at starte en ny linje.

Men hvad er problemet med lange linjer?

Tekst uden eller meget få nylinjetegn vil være for bred til at kunne læses komfortabelt i terminalvinduet. Det er irriterende, men det kan lade sig gøre.

Et mere skadeligt problem er at skulle håndtere linjer af en sådan længde, at de udgør et problem for softwaren, der skal behandle, transmittere eller modtage teksten. Dette kan være forårsaget af interne bufferlængder eller andre aspekter af softwaren, som du ikke kan justere.

Men der er en løsning på det, kaldet fold.

Første trin med fold

Lad os tage et kig på en del af teksten, der har meget, meget lange linjer i sig. Bemærk, at vi ikke taler om sætninger her. (Selvom teksten kommer fra Herman Melvilles Moby Dick, så vi har det bedste fra begge verdener.)

  Sådan skjuler du filer på Linux og sikrer dem

En tekstlinje er alt fra det sidste linjeskifttegn (eller starten af ​​filen, hvis det er den første linje i filen) helt op til det næste linjeskifttegn, uanset hvad der er imellem. Linjen kan indeholde mange sætninger. Det kan pakkes rundt i terminalvinduet mange gange. Men det er stadig en enkelt tekstlinje.

Lad os se på teksten i dens rå form:

less moby-dick.txt

Teksten vises i mindre:

Teksten strækker sig fra den ene kant af vinduet til den anden, og stregen ombrydes er grimme, og de bryder ord på midten.

Vi har en anden version af filen med korte linjer:

less short-lines-moby-dick.txt

Linjerne i denne fil er meget kortere. Hver linje afsluttes med et nylinjetegn.

Hvis vi bruger hexdump-kommandoen, kan vi det se på byte-værdierne i filen og se newline-tegnene. Indstillingen -C (kanonisk) formaterer outputtet til at vise hexadecimale værdier i hovedet