¿Hay alguna opción del comando grep para suprimir el efecto de las líneas vacías en el archivo de patrones? Preferiría esta opción que verificar y filtrar siempre el archivo de patrón naciente.
Aquí hay un ejemplo (en pattern_file , hay una línea vacía):
$ cat pattern_file APPLE PEAR $ cat file Nothing fruit $ grep -f pattern_file file Nothing fruitPara ignorar las líneas vacías en el archivo de patrón:
grep -f <(grep . pattern_file) filegrep -v '^$' Esto en realidad toma todas las líneas excepto las nuevas líneas. Puede canalizar el resultado a su grep de esta manera: grep -v '^$'| otherGrep
Acerca de la opción -f :
Un patrón nulo se puede especificar mediante una línea vacía en pattern_file .
Por lo tanto, es una función y debe eliminar las líneas vacías , por ejemplo, con sed :
sed '/^$/d' | grep -f ...