Hur man Använder vik-Kommandot i Linux

0
355
Fatmawati Achmad Zaenuri/Shutterstock

Linux-vik kommando ger oregerliga utgång till häl. Läs breda bitar av text, oändliga strängar, och oformaterad strömmar genom att kontrollera bredden av produktionen. Lär dig hur.

Hur textrader Arbeta i Linux Terminal

Första regeln i Linux bekämpa: känn din fiende. Så låt oss definiera det. Vad exakt är en rad med text? Det är en sekvens av tecken med bokstäver, siffror, symboler och mellanslag—att avslutas av en särskild byte som innebär “att börja på ny rad.” På Linux-och Unix, tecknet för ny rad, som också kallas en radmatning, används som i slutet av line-indikatorn. Detta är en byte med värdet av 0x0a i hexadecimal-och tio i decimal.

Olika operativsystem använder olika byte-värden för att ange slutet på en rad. Windows använder en två-byte sekvens. I Windows textfiler, newline karaktär är omedelbart följt av vagnretur karaktär, som är 0x0d i hexadecimal-och tretton i decimal.

Termerna “nyradstecken” och “carriage return” går tillbaka till skrivmaskinen. Platen, den cylinder som papperet var lindade runt, var monterad på en rörlig vagn. Vagnen flyttas ett tecken bredd till vänster, varje gång du träffar en nyckel. Att börja på ny rad, du drivit en spak som förde transport tillbaka till sitt ursprungliga läge, och som roteras rullen och flyttade papperet uppåt av höjden på en rad. Denna åtgärd var känd som en vagnretur, och rotationen av cylindern (och främjande av papper) var känd som en radmatning.

Spaken var ersatt av en knapp när skrivmaskinen blev elektrifierad. Nyckeln var märkt Vagnretur eller bara gå Tillbaka. Några tidiga datorer som BBC Micro fortfarande används namnet Avkastning på det vi nu kallar Enter.

Du kan inte se nyrad-tecken, som regel. Du kan endast se deras effekt. Tecknet för ny rad krafter program som visar eller processer sms: a för att starta en ny linje.

Men Vad är Problemet Med Långa Linjer?

Sms: a med inga, eller mycket få, newline tecken på att det kommer att vara för stort för att bekvämt läsa i terminalfönstret. Det är irriterande, men det är möjligt.

En mer skadlig problemet är att behöva handskas med rader av sådan längd att de utgör ett problem för program som behöver behandla, överföra eller ta emot sms: a. Detta kan orsakas av interna bufferten längder eller andra aspekter av den programvara som du inte kan justera.

Men det finns en fix för detta, som kallas fold.

Första Stegen med vikning

Låt oss ta en titt på en del av texten som har väldigt långa rader i den. Observera att vi inte talar om meningar här. (Även om den texten kommer från Herman melvilles Moby Dick, så vi har fått det bästa av båda världar.)

En textrad är allt från de senaste tecknet för ny rad (eller till början av filen, om det är den första raden i filen) hela vägen upp till nästa nyrad, oavsett vad som står i mellan. Linjen kan innehålla många meningar. Det kan svepa runt i terminalfönstret många gånger. Men det är fortfarande en enda rad text.

Låt oss titta på texten i dess råa form:

mindre moby-dick.txt

Texten visas i mindre:

Den text som sträcker sig från ena kanten av fönstret till den andra, och den linje wraps är ful, och de bryter orden i mitten.

Vi har fått en annan version av filen med korta rader:

mindre short-lines-moby-dick.txt

Raderna i denna fil är mycket kortare. Varje rad avslutas med ett radmatningstecken.

Om vi använder hexdump kommandot, kan vi titta på byte-värden i filen och se nyrad-tecken. -C (canonical) alternativet format utdata för att visa hexadecimala värden i huvuddelen av skärmen med den text som medel i en kolumn på sidan. Vi rör produktionen till mindre:

hexdump -C short-lines-moby-dick.txt | mindre

Genom att trycka på framåt snedstreck “/” anger du mindre sökfunktion. Typ “0a” och Tryck på Enter. Newline tecken markeras i texten. Du kan bläddra igenom filen och se var de visas. Om du behöver, kan du bläddra produktionen i sidled med hjälp av Pil Vänster och Höger Piltangenterna.

Ha en radbrytning i slutet av varje rad kan vara en begränsning i sig. Oavsett vilket program eller fönster visas denna text, linjer inte kan anpassa till fönster med bredd större än raderna själva. Linjen längd har varit täckta av ny rad-tecken.

Så det finns problem med långa linjer och korta rader som är likadana.

Att Minska Långa Rader

Luckan kommando har ett alternativ -w (bredd) som låter dig att specificera en ny maximala bredden för en del av texten. Vi kommer att visa Moby Dick sms: a med en bredd av högst 50 tecken:

vik -w 50 moby-dick.txt

Texten visas i terminal-fönstret, med den nya högsta filens längd. Den ursprungliga filen ändras inte. Det är bara produktionen från vik som är formaterat.

Vid första anblicken ser detta ut en hel del bättre. Men orden är fortfarande få dela mitt i ändarna av linjer. Det är definitivt enklare att läsa, men några av de obekväma ord avbrott är skärande.

Även om det ser ut som den högra marginalen av den text som vacklar in och ut, allt i linje längder är den samma. De linjer som ser ut att vara ett tecken kortare än resten hända att sluta i ett mellanslag.

Dela upp Linjer på Utrymmen

Kan vi använda växeln-s (mellanslag) möjlighet att se till att linjerna är bara att dela på utrymme tecken, och inga ord är uppdelade i två rader.

vik -w-50 -s moby-dick.txt

Produktionen nu har en ojämn högermarginal, men det är lättare att läsa. Alla ord slut på de linjer som de började på.

Gör Korta Rader Längre

Liksom att göra långa linjer kortare, kan vi använda luckan för att ta bort den påtvingade linje längder på kortare linjer.

vik -w 75 short-lines-moby-dick.txt

Newline tecken tas bort, och den text som nu sveper på eller innan den tilldelade maximal längd.

Att Göra Ändringarna Permanenta

luckan kan inte ändra den ursprungliga filen. Om du vill behålla ändringarna, du måste omdirigera utdata från vik till en ny fil. Vi kommer att omdirigera utdata till en fil som heter “modified-moby-dick.txt.”

vik -w 75 -s short-lines-moby-dick.txt > modified-moby-dick.txt

Låt oss ta en titt på vår nya filen:

mindre modified-moby-dick.txt

Hur fungerar vår nya filen att se ut?

Texten är nu omslag prydligt på vår nya linje bredd, som är bredare än vad den ursprungliga filen linje längder.

Med hjälp av vik Med Strömmar

Vi kan använda för vik att formatera om strömmar av text. Det är inte begränsad till att arbeta enbart med filer. Låt oss se vad den råa produktionen från journalctl verktyg ser ut. -F (follow) alternativ visar de nyaste posterna i systemd tidning och uppdateringar som nya poster anländer.

sudo journalctl -f

Produktionen wraps på terminal-fönstrets kant.

Det ser inte så illa, men för den skull demonstration, låt oss minska dess bredd är något. Vi kommer att röret utdata från journalctl i vik. Vi är fastställandet av högsta tillåtna bredd 65 tecken, och vi bryter raderna på utrymmen endast.

sudo journalctl -f | vika -w 65 -s

Displayen ser lite mindre överväldigande och en touch snyggare också.

Väggar av solid text kan tyckas vara ogenomtränglig. De är som besvärligt och påfrestande att ta itu med. När du behöver för att kunna se skogen från träden, ring på luckan och införa lite ordning.

LÄS NÄSTA

  • “Hur att Dölja Privata Bilder och Videor på Din iPhone eller iPad
  • “Hur Stream den 92: a Årliga Academy Awards
  • “Vad Gör “FTFY” Betyder, och Hur Använder Man Det?
  • “Webbläsare Är Tysta Irriterande Anmälan Popup-Fönster
  • “16 Apple HomePod Tips och Tricks Du Behöver Veta