GNU/Linux >> Znalost Linux >  >> Linux

Kurz rozbalení a rozbalení příkazů s příklady

V této příručce probereme dva méně známé linuxové příkazy, jmenovitě Rozbalit a Rozbalit s praktickými příklady. Pro ty, kdo by byli zvědaví, příkaz Expand se používá k nahrazení znaků TAB znaky MEZERNÍKŮ v souborech a příkaz Unexpand dělá opak, tj. nahrazuje znaky MEZERNÍKA znaky TAB v souboru. Ve skutečnosti má MS-DOS také příkaz s názvem "Expand", který se používá k rozbalení komprimovaného souboru. Ale příkaz Linux Expand jednoduše převede tabulátory na mezery. Tyto dva příkazy jsou součástí GNU coreutils a napsal David MacKenzie .

Pro demonstrační účely budu v této příručce používat textový soubor s názvem "ostechnix.txt".

Rozbalte příklady příkazů

Jak již bylo řečeno, příkaz Expand nahradí znaky TAB v souboru znaky SPACE.

Chcete-li převést tabulátory na mezery v souboru, například "ostechnix.txt", a zapsat výsledek na standardní výstup pomocí příkazu:

$ expand ostechnix.txt

Pokud nechcete zobrazit výsledek ve standardním výstupu, jednoduše jej nahrajte do jiného souboru, jak je uvedeno níže.

$ expand ostechnix.txt>output.txt

Můžeme také převést tabulátory na mezery, číst ze standardního vstupu. Chcete-li tak učinit, stačí spustit příkaz "rozbalit" bez uvedení názvu zdrojového souboru:

$ expand

Stačí napsat text a stisknout ENTER pro převod tabulátorů na mezery. Stiskněte CTRL+C ukončit.

Pokud nechcete převádět tabulátory za mezerami, použijte -i příznak jako níže.

$ expand -i ostechnix.txt

Můžeme mít také tabulátory o určitý počet znaků od sebe, nikoli 8 (výchozí hodnota):

$ expand -t=5 ostechnix.txt

Můžete dokonce zmínit více pozic karet oddělených čárkou, jak je uvedeno níže.

$ expand -t 5,10,15 ostechnix.txt

Nebo,

$ expand -t "5 10 15" ostechnix.txt

Další podrobnosti naleznete na manuálových stránkách.

$ man expand

Rozbalit příklady příkazů

Rozbalit příkaz udělá opak příkazu Expand. Převede znaky SPACE na znaky TAB. Dovolte mi ukázat vám několik příkladů, jak se naučit používat příkaz Unexpand.

Chcete-li převést mezery (samozřejmě mezery) v souboru na tabulátory a zapsat výstup do stdout, postupujte takto:

$ unexpand ostechnix.txt

Pokud chcete výstup zapsat do souboru, místo abyste jej pouze zobrazovali na stdout, použijte tento příkaz:

$ unexpand ostechnix.txt>output.txt

Převést mezery na tabulátory, čtení ze standardního výstupu:

$ unexpand

Ve výchozím nastavení příkaz Rozbalit převede pouze počáteční mezery. Pokud chcete převést všechny mezery, namísto pouze počátečních mezer, použijte -a příznak:

$ unexpand -a ostechnix.txt

Chcete-li převést pouze úvodní sekvence mezer (Upozorňujeme, že přepíše -a ):

$ unexpand --first-only ostechnix.txt

Mějte tabulátory od sebe o určitý počet znaků, nikoli 8 (povolí -a ):

$ unexpand -t 5 ostechnix.txt

Podobně můžeme zmínit více pozic karet s oddělenými čárkami, jak je uvedeno níže.

$ unexpand -t 5,10,15 ostechnix.txt

Nebo,

$ unexpand -t "5 10 15" ostechnix.txt

Další podrobnosti naleznete na manuálových stránkách.

$ man unexpand

Doporučené čtení:

  • Výukový program pro skládání s příklady pro začátečníky

Při práci s velkým množstvím souborů mohou být příkazy Expand a Unexpand velmi užitečné k nahrazení nežádoucích znaků TAB znaky SPACE a naopak.


Linux
  1. Jak používat příkazy „cat“ a „tac“ s příklady v Linuxu

  2. Linux nice and renice Command Tutorial (7 příkladů)

  3. Linuxové příkazy – přehled a příklady

  1. Rozšíření Linuxu Command Tutorial pro začátečníky (s příklady)

  2. Návod Shuf Command s příklady pro začátečníky

  3. Kurz Subversion:10 nejpoužívanějších příkazů SVN s příklady

  1. Jak komprimovat soubory a adresáře v systému Linux (s příklady)

  2. Příkazy hlavy a ocasu v Linuxu vysvětleny s příklady

  3. Perl Array Reference a Dereference Tutorial s praktickými příklady