GNU/Linux >> Linux Esercitazione >  >> Linux

Vantaggi di cat'ing file e piping a grep

Meglio evitare il gatto; scrivilo in questo modo se la modifica della riga è importante:

$ < filename grep pattern

Il motivo è che spingere tutti i dati attraverso cat costa memoria e risorse della CPU. Un altro vantaggio di passare il nome file come argomento piuttosto che reindirizzare stdin è che consente al comando l'opzione mmap() sul file.


Non posso credere che nessuno abbia ancora fatto riferimento a "Uso inutile di Cat" http://www.smallo.ruhr.de/award.html

C'è un vantaggio discutibile. Se hai una pipeline lunga, sembra un po' più ortogonale con cat:

cat file | command1 | command 2 | command3

Raggruppa tutti i comandi insieme.

Naturalmente, come altri hanno detto (e lo faccio)

< file command1 | command2 | command3

Esegue praticamente la stessa cosa. Detto questo, cat è piuttosto piccolo e non farà cadere il tuo computer se lo usi quando non ne hai davvero bisogno.

Normalmente si usa cat vs colpire direttamente un file non cambia nulla, ma fa la differenza per alcuni comandi che si preoccupano se ci sono più file come argomenti, come grep . Caso in questione:

cat file1 file2 | grep SOMETHING

avrà un output diverso da

grep SOMETHING file1 file2

Che avrà i nomi di file corrispondenti nell'output. Ci sono volte in cui non voglio i nomi dei file, ed è un vantaggio usare cat .


Non c'è alcun vantaggio. Anche il tuo cursore alla fine non ha molta importanza se invece lo strutturi in questo modo:< inputfile grep -args foo


Linux
  1. Stampa linee tra (e inclusi) due motivi?

  2. Output su Stdout e allo stesso tempo Grep in un file?

  3. Permessi e salvataggio dei file?

  4. Reindirizzamento e uscita del tubo?

  5. Taglia / Grep e Df -h?

Comando Cat in Linux

Manipolazione del testo con sed e grep

Come eliminare le righe vuote nei file utilizzando Grep, Sed e Awk

Utilizzare Command Grep e individuare?

50 Comando grep produttivo e pratico per gli appassionati di Linux

Come posso cat un file e rimuovere le righe commentate?