Ocitli jste se někdy v situaci, kdy chcete skládat nebo přerušovat výstup příkazu, aby se vešel do určité šířky? V této situaci jsem se několikrát ocitl při spouštění virtuálních počítačů, zejména serverů bez GUI. Pro případ, že byste někdy chtěli omezit výstup příkazu na určitou šířku, nehledejte nikde! Stačí použít fold příkaz! Příkaz fold zalomí každý řádek do vstupního souboru tak, aby odpovídal zadané šířce, a vytiskne jej na standardní výstup.
V tomto krátkém tutoriálu se podíváme na použití příkazu fold s praktickými příklady.
Výukový program příkazu Fold s příklady
Příkaz Fold je součástí balíku GNU coreutils, takže se s instalací neobtěžujme.
Typická syntaxe příkazu fold:
fold [OPTION]... [FILE]...
Dovolte mi ukázat vám několik příkladů, abyste si mohli udělat lepší představu o příkazu fold. Mám soubor s názvem linux.txt s několika náhodnými řádky.
Chcete-li zalomit každý řádek ve výše uvedeném souboru na výchozí šířku, spusťte:
$ fold linux.txt
80 sloupců na řádek je výchozí šířka. Zde je výstup výše uvedeného příkazu:
Jak můžete vidět na výše uvedeném výstupu, příkaz fold omezil výstup na šířku 80 znaků.
Samozřejmě můžete zadat preferovanou šířku, například 50, jako níže:
$ fold -w50 linux.txt
Ukázkový výstup by byl:
Místo pouhého zobrazení výstupu můžeme výstup také zapsat do nového souboru, jak je ukázáno níže:
$ fold -w50 linux.txt > linux1.txt
Výše uvedený příkaz zalomí řádky souboru linux.txt na šířku 50 znaků a zapíše výstup do nového souboru s názvem linux1.txt .
Pojďme zkontrolovat obsah nového souboru:
$ cat linux1.txt
Všimli jste si pozorně výstupu předchozích příkazů? Některá slova jsou přerušovaná mezi řádky. K vyřešení tohoto problému můžeme použít '-s' příznak pro přerušení řádků v mezerách.
Následující příkaz zalomí každý řádek v daném souboru na šířku "50" a zalomí řádek mezerami:
$ fold -w50 -s linux.txt
Ukázkový výstup:
Vidět? Nyní je výstup velmi jasný. Tento příkaz vloží každé slovo oddělené mezerou na nový řádek a slova o délce> 50 se zalomí.
Ve všech výše uvedených příkladech jsme omezili šířku výstupu sloupci. Můžeme však vynutit šířku výstupu na počet bajtů zadaný pomocí -b volba. Následující příkaz přeruší výstup na 20 bajtů.
$ fold -b20 linux.txt
Ukázkový výstup:
Další podrobnosti naleznete na manuálových stránkách.
$ man fold