Het Gebruik van de vouw Opdracht op Linux

0
39
Fatmawati Achmad Zaenuri/Shutterstock

De Linux plooi commando brengt onhandelbare output tot hiel. Lezen van grote stukken tekst, eindeloze snaren, en niet stromen door het beheersen van de breedte van de uitgang. Leren hoe.

Hoe tekstregels Werk in de Linux Terminal

De eerste regel van Linux bestrijden: ken uw vijand. Dus laten we definiëren. Wat is precies een regel van de tekst? Het is een reeks van tekens (letters, cijfers, symbolen, spaties en witregels—dat wordt afgesloten door een speciale byte dat betekent “een nieuwe regel beginnen.” In Linux en Unix, het newline-character, ook wel een linefeed (regeldoorvoer), wordt gebruikt als het einde van de line-indicator. Dit is een byte met een waarde van 0x0a in hexadecimale en tien in decimalen.

Verschillende operating systemen maken gebruik van verschillende byte waarden aan het einde van een regel. Windows maakt gebruik van een twee-byte volgorde. In Windows tekst bestanden, het newline-character, onmiddellijk gevolgd door de return-teken, die 0x0d in hexadecimale en dertien in een decimaal getal.

De termen “linefeed” en “carriage return” datum terug naar de typemachine. De glasplaat gebruikt, moet de cilinder die het papier was gewikkeld, was gemonteerd op een verplaatsbare vervoer. De wagen verplaatst één teken de breedte van de linker elke keer dat u een toets aanslaat. Om een nieuwe regel beginnen, je duwde een hendel die het vervoer terug naar de oorspronkelijke positie, en die gedraaid de roller en verplaatst het papier omhoog door de hoogte van een regel. Deze actie werd bekend als de carriage return, en de rotatie van de cilinder (en de vooruitgang van het papier) stond bekend als een linefeed (regeldoorvoer).

De hendel vervangen door een toets wanneer de typemachine werd geëlektrificeerd. De sleutel werd bestempeld Return of gewoon Terug. Sommige oudere computers, zoals de BBC Micro nog steeds gebruikt de naam Terug op wat we nu noemen de Enter-toets.

Je kunt het niet zien newline tekens, als een regel. Je kunt alleen zien wat het effect is. Het newline-character krachten software dat wordt weergegeven of processen tekst op een nieuwe regel beginnen.

Maar Wat is het Probleem Met de Lange Lijnen?

Tekst met geen, of zeer weinig, newline karakters in te breed om comfortabel te lezen in het terminal-venster. Dat is vervelend, maar het is te doen.

Een meer pernicieuze probleem is dat je te maken met regels van zodanige lengte dat ze een probleem aan de software die nodig voor het verwerken, verzenden of ontvangen van de tekst. Dit kan veroorzaakt worden door interne buffer lengtes of andere aspecten van de programmatuur die u niet kunt aanpassen.

Maar er is een oplossing voor die, genoemd vouwen.

De eerste Stappen met vouw

Laten we een kijkje nemen in een deel van de tekst, dat is zeer, zeer lange lijnen in. Merk op dat we praten niet over zinnen hier. (Hoewel de tekst komt van Herman Melville ‘ s Moby Dick, we hebben dus het beste van beide werelden.)

Een tekst regel is alles van de laatste nieuwe regel karakter is (of aan het begin van het bestand als het is de eerste regel in het bestand) helemaal tot aan de volgende nieuwe regel karakter is, ongeacht wat er tussen zit. De lijn kan bevatten vele zinnen. Het kan wrap ronde in het terminal-venster vele malen. Maar het is nog steeds één regel van de tekst.

Laten we eens kijken naar de tekst in zijn ruwe vorm:

minder moby-dick.txt

De tekst wordt getoond in minder:

De tekst strekt zich van de ene rand van het venster naar de andere, en de line-wraps zijn lelijk, en ze breken woorden in het midden.

We hebben een andere versie van het bestand met korte lijnen:

minder short-lines-moby-dick.txt

De regels in dit bestand zijn veel korter. Elke regel eindigt met een newline karakter in.

Als we gebruik maken van de hexdump opdracht, kunnen we kijken naar de byte-waarden in het bestand en zie het newline-tekens. De -C (canonieke) optie formaten van de output aan te tonen hexadecimale waarden in het hoofdgedeelte van het display met de tekst-equivalenten in een kolom aan de zijkant. We zullen de output met een pijp in minder:

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

Door op de forward slash “/” zult u minder van de zoekfunctie. Type “0a” en Druk op Enter. Het newline-tekens zal worden gemarkeerd in de tekst. U kunt bladeren door de file en zie waar ze worden weergegeven. Als u wilt, kunt u de output zijwaarts met behulp van de Pijl-Links en pijl-Rechts Pijl-toetsen.

Het hebben van een teken aan het einde van elke regel kan een beperking in zich. Ongeacht welk programma of venster toont deze tekst, de regels niet aan te passen aan ramen met een breedte groter dan de regels zelf. De lengte van de lijn is gemaximeerd door het newline-tekens.

Zo zijn er problemen met de lange lijnen en de korte lijnen gelijk.

Het Verminderen Van Lange Lijnen

De vouw-opdracht heeft een optie -w (breedte) waarmee u een nieuwe maximale breedte voor een gedeelte van de tekst. We geven de Moby Dick tekst met een maximale breedte van 50 tekens:

vouw -w 50 moby-dick.txt

De tekst wordt weergegeven in het terminal-venster, met de nieuwe maximale lengte. Het oorspronkelijke bestand wordt niet gewijzigd. Het is alleen de uitgang van vouw dat is geformatteerd.

Op het eerste gezicht lijkt dit een stuk beter. Maar woorden zijn nog steeds het krijgen van split in het midden en aan de uiteinden van de lijnen. Het is zeker makkelijker om te lezen, maar enkele van de lastige woord breekt zijn schokkend.

Hoewel het lijkt alsof de rechter marge van de tekst wankelt in en uit, alle van de lijn lengtes zijn hetzelfde. De lijnen die lijken op een teken korter dan de rest gebeuren om te eindigen in een ruimte karakter.

Het splitsen van Lijnen op Spaties

We kunnen gebruik maken van de -s (spaties) optie om ervoor te zorgen dat regels worden alleen verdeeld over de ruimte tekens, en geen woorden zijn onderverdeeld in twee lijnen.

vouw -50 w-s moby-dick.txt

De output heeft nu een kapotte rechter marge, maar het is makkelijker om te lezen. Alle woorden die eindigen op de lijnen begonnen ze op.

Het Maken Van Korte Lijnen Meer

Evenals het maken van lange lijnen korter, kunnen we gebruik maken van vouw te verwijderen van de opgelegde regel lengtes van kortere lijnen.

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

Het newline-tekens zijn verwijderd, en de tekst nu wraps op of vóór de aangegeven maximale lengte.

Het Maken Van Wijzigingen Permanent

vouw het niet kunnen wijzigen van het oorspronkelijke bestand. Als u de wijzigingen wilt behouden, moet u het omleiden van de output van de vouw in een nieuw bestand. We omleiden naar een bestand met de naam “modified-moby-dick.txt.”

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

Laten we eens een kijkje op onze nieuwe bestand:

minder modified-moby-dick.txt

Hoe werkt onze nieuwe bestand eruit?

De tekst is nu verpakking netjes op onze nieuwe lijn breedte, die ruimer is dan het originele bestand kabellengtes.

Vouw Met behulp van Streams

We kunnen gebruik maken van vouw opnieuw formatteren stromen van tekst. Het is niet beperkt tot werken uitsluitend met bestanden. Laten we eens kijken wat de raw-uitvoer van de journalctl gereedschap eruit ziet. De -f (volg) optie toont de nieuwste items in de systemd journal en de updates als er nieuwe berichten komen.

sudo journalctl -f

De uitgang van de wraps op het terminal venster naar de rand.

Het ziet er niet al te slecht, maar omwille van de demonstratie, we verminderen de breedte iets. We gaan aan de pijp van de uitvoer van journalctl in te vouwen. We zijn het instellen van de maximale breedte 65 tekens, en we breken de lijnen op de ruimtes alleen.

sudo journalctl -f | fold -65 w-s

Het display ziet er een beetje minder overweldigend en een beetje netter te.

De muren van de vaste tekst kan ondoordringbaar. Ze zijn off-putting en ondermijnt om te gaan met. Wanneer u het nodig om het te kunnen zien door de bomen het bos, gesprek op te vouwen en het opleggen van een beetje van uw bestelling.

LEES VERDER

  • “Het Verbergen van Eigen Foto’ s en Video ‘ s op Uw iPhone of iPad
  • “Hoe om te Streamen van de 92ste Academy Awards
  • “Wat Doet “FTFY” Betekenen, en Hoe Gebruik Je Het?
  • “Web Browsers Zijn Spreekverbod Vervelende Melding Pop-Ups
  • “16 Apple HomePod Tips en Trucs die U Nodig hebt om te Weten