Entonces, si desea utilizar la salida de lscomo entrada para dos grepprogramas diferentes , guarde la salida de cada uno grepen diferentes archivos y canalice todos los resultados less, intente:
ls -A | tee >(grep ^[.]> hidden-files)>(grep -v ^[.]> normal-files)| less
Los resultados de la ls -Ase "canalizarán" en ambos greps. El archivo hidden-filestendrá el contenido de la salida del primero grepy normal-filestendrá los resultados del segundo grep. Todos los archivos se mostrarán en el buscapersonas less.EDITAR : lo que ves lesses el mismo resultado exacto de ls -A, no el resultado del greps. Si desea modificar la salida de ls -Aa less(por ejemplo, intercambiando el orden para que los archivos normales se enumeren antes que los ocultos), intente esto:
ls -A | tee >(grep ^[.])>(grep -v ^[.])>/dev/null | less
Sin >/dev/null, la salida de greps se agregaría a la salida de en ls -Alugar de reemplazarla.
Esto enviará la salida del comando grep tanto al terminal como a wc (cuya salida se redirige a su vez al archivo grepresult).
"Tee" se explica en el artículo de Wikipedia tee (comando) . Central es: "El comando tee lee la entrada estándar, luego escribe su contenido en la salida estándar y simultáneamente lo copia en los archivos o variables especificados".
Respuestas:
Parece que el
tee
comando hará lo que quieras.La clave es usar
para la sustitución de procesos . Con
tee
, use el siguiente patrón:Entonces, si desea utilizar la salida de
ls
como entrada para dosgrep
programas diferentes , guarde la salida de cada unogrep
en diferentes archivos y canalice todos los resultadosless
, intente:Los resultados de la
ls -A
se "canalizarán" en ambosgrep
s. El archivohidden-files
tendrá el contenido de la salida del primerogrep
ynormal-files
tendrá los resultados del segundogrep
.Todos los archivos se mostrarán en el buscapersonasEDITAR : lo que vesless
.less
es el mismo resultado exacto dels -A
, no el resultado delgrep
s. Si desea modificar la salida dels -A
aless
(por ejemplo, intercambiando el orden para que los archivos normales se enumeren antes que los ocultos), intente esto:Sin
>/dev/null
, la salida degrep
s se agregaría a la salida de enls -A
lugar de reemplazarla.fuente
fuente
Use "tee".
Ejemplo:
Esto enviará la salida del comando grep tanto al terminal como a wc (cuya salida se redirige a su vez al archivo grepresult).
"Tee" se explica en el artículo de Wikipedia tee (comando) . Central es: "El comando tee lee la entrada estándar, luego escribe su contenido en la salida estándar y simultáneamente lo copia en los archivos o variables especificados".
fuente