es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Obtener parte del texto de una línea en Linux si la cadena de búsqueda coincide en los archivos.

En Linux, tengo un archivo test.log que es similar a este:

none
2021/11/18 17:19:18,034 INFO {“queueName”:”queue/RequestQueue”,{“threadName”:”WorkManager(2)-702″,”correlationID”:”b67601e81bfd”,”requestData”:”TYPE_1, REQUEST 1″}
2021/11/18 17:19:18,036 INFO {“queueName”:”queue/ResponseQueue”,”correlationID”:”TMYHxIyeYo”,”responseData”:”TYPE_1, RESPONSE 1″}
2021/11/18 17:19:18,038 INFO {“queueName”:”queue/RequestQueue”,{“threadName”:”WorkManager(2)-885″,”correlationID”:”j9BNzbbv3E”,”requestData”:”TYPE_2, REQUEST 2″}
2021/11/18 17:19:19,172 INFO {“queueName”:”queue/RequestQueue”,{“threadName”:”WorkManager(2)-183″,”correlationID”:”d29d2d7cf5a4″,”requestData”:”TYPE_1, REQUEST 3″}
2021/11/18 17:19:20,784 INFO {“queueName”:”queue/esbRequestQueue”,{“threadName”:”WorkManager(2)-762″,”correlationID”:”4235eba2765a”,”requestData”:”TYPE_1, REQUEST 4″}

Quiero buscar todas las líneas de este archivo y obtener las líneas que tienen la cadena [“requestData”:”TYPE1] y escribir todo el contenido de requestData en otro archivo llamado type1.txt. Cada línea coincidente en el archivo test.log se escribirá en una línea en el archivo type1.txt. A continuación se muestra mi resultado esperado en el archivo type1.txt:

none
TYPE_1, REQUEST 1
TYPE_1, REQUEST 3
TYPE_1, REQUEST 4

Mi pregunta es si hay comandos que puedan hacer esto. Soy nuevo en Linux, así que por favor ayúdame con esto.

Tags:  , , , ,

Answer

  1. Avatar for davy.ai

    Sí, puedes usar el comando grep para buscar en el archivo test.log y obtener las líneas que contienen la cadena "requestData":"TYPE_1 y escribir el contenido de requestData en el archivo type_1.txt.

    El comando para hacer esto sería:

    grep '"requestData":"TYPE_1' test.log | cut -d ',' -f2 > type_1.txt

Comments are closed.