GNU/Linux >> Tutoriales Linux >  >> Linux

Ventajas de cat'ing file y piping a grep

Mejor evitar el gato; escríbalo de esta manera si la edición de líneas es importante:

$ < filename grep pattern

La razón es que enviar todos los datos a través de cat cuesta memoria y recursos de CPU. Otro beneficio de pasar el nombre del archivo como argumento en lugar de redirigir la entrada estándar es que le permite al comando la opción de mmap() el archivo.


No puedo creer que nadie haya hecho referencia al "Uso inútil del gato" http://www.smallo.ruhr.de/award.html todavía

Hay una ventaja cuestionable. Si tiene una canalización larga, parece un poco más ortogonal con cat:

cat file | command1 | command 2 | command3

Agrupa todos los comandos juntos.

Por supuesto, como han dicho otros (y yo lo hago)

< file command1 | command2 | command3

Realiza prácticamente lo mismo. Dicho esto, cat es bastante pequeño y no dañará tu computadora si la usas cuando realmente no la necesitas.

Normalmente usando cat vs golpear directamente un archivo no cambia nada, pero hace una diferencia para ciertos comandos que se preocupan si hay varios archivos como argumentos, como grep . Caso en cuestión:

cat file1 file2 | grep SOMETHING

tendrá una salida diferente a

grep SOMETHING file1 file2

Que tendrá los nombres de archivo coincidentes en la salida. Hay momentos en los que no quiero los nombres de archivo, y es una ventaja usar cat .


No hay ventaja. El hecho de que el cursor esté al final tampoco importa mucho si lo estructura así:< inputfile grep -args foo


Linux
  1. ¿Diferencia entre Cat y '>' para poner a cero un archivo?

  2. Salida a Stdout y al mismo tiempo Grep en un archivo?

  3. ¿Permisos de archivo y ahorro?

  4. ¿Redirigir y canalizar la salida?

  5. Corte/Grep Y Df -h?

Comando Cat en Linux

Manipulación de texto con sed y grep

Cómo eliminar líneas vacías en archivos usando Grep, Sed y Awk

50 comandos grep productivos y prácticos para entusiastas de Linux

Comando grep de Linux

Redirigir strace al archivo