Buscar texto específico del archivo y generar la línea (script de Shell)

12

Supongamos que tengo una variable $ str1

str1="20140121-21:48:26|Joanne Frances|"

Lo que quiero hacer es buscar esa parte en el archivo. El archivo contiene, por ejemplo:

20140121-21:48:26|Joanne Frances|Perez|9173046751.000000|Mar 31|
20140121-21:50:28|Nikko|Real|9065887272.000000|Mar 21|
20140121-22:22:53|Czarina|Revilla|9999999999.000000|Jan 21|

La salida debe ser:

20140121-21: 48: 26 | Joanne Frances | Pérez | 9173046751.000000 | 31 de marzo |

Actualización: Finalmente, sepa cuál es el problema que trató el problema echo $str1y se muestra, 20140121|Adrian Perez|lo que significa que realmente NO ESTÁ en el archivo. Jaaa! ¡Soy un desastre! -_-

joanne_
fuente
simplemente puedes usar grep. por ejemplogrep $str filename.txt
mcantsin el
@mcantsin Lo intenté, no funcionó
joanne_
y cual es el error? - ¿Ninguna salida?
mcantsin
@mcantsin yup sin salida!
joanne_
Probé tu ejemplo y funciona perfectamente para mí. - ¿Seguro que no hay error tipográfico?
mcantsin

Respuestas:

12

Utilizar esta:

grep "$str" filename.txt

para evitar la mala interpretación de caracteres especiales.

Para saber más, consulte esto:

Jobin
fuente