grep
no tiene una opción para interpretar sus argumentos de línea de comandos como texto para buscar. La forma normal de grep
una cadena es canalizar la cadena en grep
la entrada estándar de:
$ echo 'There once was a man from Nantucket
Who kept all his cash in a bucket.
But his daughter, named Nan,
Ran away with a man
And as for the bucket, Nantucket.' | grep -i nan
There once was a man from Nantucket
But his daughter, named Nan,
And as for the bucket, Nantucket.
$
Como puede ver aquí, puede echo
usar cadenas que contengan más de una línea de texto. Incluso puede escribirlos en el shell de forma interactiva, si lo desea.
Si esto no satisface sus necesidades, ¿podría explicar por qué las tuberías no son una solución aceptable?
grep
? Entonces, tal vez algo asíprintf "various\ntext to grep here" | grep "text"
produzca "texto para grep aquí"