Jak používat příkaz fold na Linuxu

Linuxový příkaz fold přináší neposlušný výstup na paty. Čtěte široké kusy textu, nekonečné řetězce a neformátované proudy ovládáním šířky výstupu. Zjistěte jak.

Jak fungují řádky textu v linuxovém terminálu

První pravidlo linuxového boje: Poznej svého nepřítele. Pojďme si to tedy definovat. Co je to vlastně řádek textu? Je to posloupnost znaků – písmen, číslic, symbolů a mezer – která je ukončena speciálním bytem, ​​který znamená „začít nový řádek“. V Linuxu a Unixu znak nového řádku, nazývaný také posun řádku, se používá jako indikátor konce řádku. Toto je bajt s hodnotou 0x0a in hexadecimální a deset v desítkové soustavě.

Různé operační systémy používají k označení konce řádku různé hodnoty bajtů. Windows používá dvoubajtovou sekvenci. V textových souborech Windows je znak nového řádku bezprostředně následován znakem znak návratu vozíku, což je 0x0d v šestnáctkové soustavě a třináct v desítkové soustavě.

  Jak používat reakce v 'Animal Crossing: New Horizons' z vašeho smartphonu

Termíny „linefeed“ a „carriage return“ pocházejí z minulosti k psacímu stroji. deska, válec, kolem kterého byl papír omotaný, byl namontován na pohyblivém vozíku. Po každém stisknutí klávesy se vozík posunul o jeden znak doleva. Chcete-li spustit nový řádek, stlačili jste páčku, která vrátila vozík zpět do původní polohy a která otočila válečkem a posunula papír nahoru o výšku jednoho řádku. Tato akce byla známá jako návrat vozíku a rotace válce (a posun papíru) byla známá jako posun řádku.

Páka byla nahrazena klíčem, když se psací stroj zelektrizoval. Klíč byl označen Carriage Return nebo jen Return. Některé rané počítače jako např BBC Micro stále používal název Return na to, co nyní nazýváme klávesou Enter.

  Jak přemapovat modifikační klávesy na iPadu

Zpravidla nevidíte znaky nového řádku. Můžete vidět pouze jejich účinek. Znak nového řádku nutí software, který zobrazuje nebo zpracovává text, aby začal nový řádek.

Ale jaký je problém s dlouhými frontami?

Text, který neobsahuje žádné nebo jen velmi málo znaků nového řádku, bude příliš široký, aby se dal pohodlně přečíst v okně terminálu. Je to nepříjemné, ale je to možné.

Zhoubnějším problémem je vypořádat se s řádky takové délky, že představují problém pro software, který potřebuje zpracovat, přenést nebo přijmout text. To může být způsobeno délkou vnitřní vyrovnávací paměti nebo jinými aspekty softwaru, které nemůžete upravit.

Ale na to existuje oprava, která se nazývá fold.

První kroky s fold

Podívejme se na část textu, která obsahuje velmi, velmi dlouhé řádky. Všimněte si, že zde nemluvíme o větách. (I když text pochází z Moby Dicka od Hermana Melvilla, takže máme to nejlepší z obou světů.)

  Jak vyprázdnit koš po X počtu dní

Řádek textu je vše od posledního znaku nového řádku (nebo začátku souboru, pokud je to první řádek v souboru) až po další znak nového řádku, bez ohledu na to, co je mezi tím. Řádek může obsahovat mnoho vět. V okně terminálu se může mnohokrát zabalit. Ale stále je to jeden řádek textu.

Podívejme se na text v jeho surové podobě:

less moby-dick.txt

Text se zobrazí méně:

Text se táhne od jednoho okraje okna k druhému a řádky jsou ošklivé a uprostřed lámou slova.

Máme další verzi souboru s krátkými řádky:

less short-lines-moby-dick.txt

Řádky v tomto souboru jsou mnohem kratší. Každý řádek je ukončen znakem nového řádku.

Pokud použijeme příkaz hexdump, můžeme podívejte se na hodnoty bajtů v souboru a podívejte se na znaky nového řádku. Volba -C (canonical) formátuje výstup tak, aby zobrazoval hexadecimální hodnoty v main