Saltar al contenido

¿Cómo utilizar el comando “cat” en la salida del comando “buscar”?

Solución:

Puedes hacer esto con find solo usando el -exec acción:

find /location -size 1033c -exec cat {} +

{} se expandirá a los archivos encontrados y + nos permitirá leer tantos argumentos como sea posible por invocación de cat, ya que cat puede aceptar múltiples argumentos.

Si tu find no tiene el + extensión o desea leer los archivos uno por uno:

find /location -size 1033c -exec cat {} ;

Si desea utilizar alguna de las opciones de cat, hacer:

find /location -size 1033c -exec cat -n {} +
find /location -size 1033c -exec cat -n {} ;

Aquí estoy usando el -n opción para obtener los números de línea.

Sustitución de comando

Otra opción es utilizar la sustitución de comandos. Envolviendo un comando en $() ejecutará el comando y reemplazará el comando con su salida.

cat $(find ./inhere -size 1033c 2> /dev/null)

se convertirá

cat ./inhere/file1 .inhere/file3

Esto es más o menos equivalente a usar el estilo antiguo de encapsular comandos con tics inversos:

cat `find ./inhere -size 1033c 2> /dev/null`

Más detalles de los documentos vinculados arriba

Bash realiza la expansión ejecutando el comando en un entorno de subshell y reemplazando la sustitución del comando con la salida estándar del comando, con cualquier nueva línea final eliminada. Las nuevas líneas incrustadas no se eliminan, pero pueden eliminarse durante la división de palabras. La sustitución de mando $(cat file) puede ser reemplazado por el equivalente pero más rápido $(< file).

Cuando se usa la forma de sustitución de comillas inversas de estilo antiguo, la barra invertida conserva su significado literal excepto cuando está seguida de $, `, o . La primera comilla inversa no precedida por una barra invertida finaliza la sustitución del comando. Al usar el $(command) formulario, todos los caracteres entre paréntesis forman el comando; ninguno es tratado especialmente.

Las sustituciones de comandos pueden estar anidadas. Para anidar cuando se utiliza la forma entre comillas inversas, evite las comillas inversas internas con barras invertidas.

Si la sustitución aparece entre comillas dobles, la división de palabras y la expansión del nombre de archivo no se realizan en los resultados.

Vea esta otra respuesta para ver algunos buenos ejemplos de uso.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *