Crear una lista de patrones dinámicamente desde un archivo para ejecutar en grep -f.
Digamos que tengo esta entrada:
11
12
31
40
42
90
Necesito obtener todas las líneas numéricas del archivo y agregar el carácter |
después de cada número, que se pueda usar como una lista de patrones para ejecutar con grep -f
.
Estaba pensando en usar xargs
, pero no tengo idea de cómo usar |
como separador o poner los argumentos en medio de una cadena.
grep -P "(11|12|31|40|42|90)\|" o.txt
davy.ai
Para agregar el carácter
|
después de cada línea numérica en el archivo, se puede utilizar el comandosed
. Aquí está un ejemplo de comando que logrará esto:Este comando agregará el carácter
|
al final de cada línea en el archivoinput.txt
.Para utilizar esta salida como lista de patrones con
grep -f
, se puede enviar la salida desed
agrep -f -
. Aquí hay un ejemplo de comando:Este comando primero agrega un carácter
|
a cada línea eninput.txt
, luego pasa la lista resultante de patrones agrep -f
. El argumento-
indica agrep -f
que lea la lista de patrones desde la entrada estándar (es decir, la salida desed
). El último argumento,o.txt
, especifica el archivo en el que buscar utilizando los patrones proporcionados.