GNU/Linux >> Znalost Linux >  >> Linux

Příkaz pro výstup obsahu souboru do Stdout?

Znám cat může to udělat, ale jeho hlavním účelem je spíše zřetězení než jen zobrazení obsahu.

Vím také o less a more , ale hledám něco jednoduchého (ne pager ), který pouze odesílá obsah souboru do terminálu a je vytvořen speciálně pro toto, pokud něco takového existuje.

Přijatá odpověď:

Nejviditelnější z nich je cat . Ale podívejte se také na head a tail . Existují také další obslužné programy shellu pro tisk souboru řádek po řádku:sed , awk , grep . Ale ty slouží k střídání obsahu souboru nebo k vyhledávání uvnitř souboru.

Udělal jsem několik testů, abych odhadl, který je nejúčinnější. Spouštím vše přes strace abyste viděli, která provedla nejméně systémových volání. Můj soubor má 1275 řádků.

  • awk :1355 systémových volání
  • cat :51 systémových volání
  • grep :1337 systémových volání
  • head :93 systémových volání
  • tail :130 systémových volání
  • sed :1378 systémových volání

Jak vidíte, i když cat byl navržen pro zřetězení souborů, je nejrychlejší a nejúčinnější. sed , awk a grep tiskli soubor řádek po řádku, proto mají více než 1275 systémových volání.


Linux
  1. 5 způsobů, jak vyprázdnit nebo odstranit obsah velkého souboru v systému Linux

  2. Zobrazit výstup příkazu nebo obsah souboru ve formátu sloupce

  3. Přesměrování obsahu souboru na příkaz „echo“?

  1. Výstup „posledního“ příkazu?

  2. Jak zjistit, zda je výstup příkazového nebo shellového skriptu Stdout nebo Stderr?

  3. Přesměrujte veškerý výstup do souboru v Bash

  1. Přesměrování výstupu příkazu do souboru a terminálu

  2. Jak vytisknout výstup příkazu Linuxu do souboru?

  3. Předpona každého výstupu příkazu za běhu