GNU/Linux >> Linux Esercitazione >  >> Linux

Comando per inviare il contenuto del file a Stdout?

Conosco cat può farlo, ma il suo scopo principale è concatenare piuttosto che visualizzare semplicemente il contenuto.

So anche di less e more , ma sto cercando qualcosa di semplice (non un cercapersone ) che invia semplicemente il contenuto di un file al terminale ed è creato appositamente per questo, se esiste.

Risposta accettata:

Il più ovvio è cat . Ma dai un'occhiata anche a head e tail . Ci sono anche altre utilità della shell per stampare un file riga per riga:sed , awk , grep . Ma quelli servono per alternare il contenuto del file o per cercare all'interno del file.

Ho fatto alcuni test per valutare quale sia il più efficace. Eseguo tutto tramite strace per vedere quale ha effettuato meno chiamate di sistema. Il mio file ha 1275 righe.

  • awk :1355 chiamate di sistema
  • cat :51 chiamate di sistema
  • grep :1337 chiamate di sistema
  • head :93 chiamate di sistema
  • tail :130 chiamate di sistema
  • sed :1378 chiamate di sistema

Come puoi vedere, anche se cat è stato progettato per concatenare file, è il più veloce ed efficace. sed , awk e grep ha stampato il file riga per riga, ecco perché hanno più di 1275 chiamate di sistema.


Linux
  1. Come reindirizzare l'output su un file e Stdout in Linux

  2. Reindirizzamento del contenuto di un file al comando "eco"?

  3. Output dell'"ultimo" comando?

  4. Come sapere se l'output di un comando o di uno script di shell è Stdout o Stderr?

  5. mkfs.hfsplus:comando non trovato

5 modi per svuotare o eliminare un contenuto di file di grandi dimensioni in Linux

Visualizza l'output dei comandi o il contenuto del file in formato colonna

Comando Fsck in Linux (ripara file system)

Come salvare l'output dei comandi di Linux in un'immagine o in un file di testo

Come reindirizzare l'output del comando della shell

5 comandi per visualizzare il contenuto di un file nella riga di comando di Linux