Rechercher un texte spécifique à partir d'un fichier et afficher la ligne (script Shell)

12

Supposons que j'ai une variable $ str1

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

Ce que je veux faire, c'est rechercher cette partie dans le fichier. Le fichier contient par exemple:

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 sortie doit être:

20140121-21: 48: 26 | Joanne Frances | Perez | 9173046751.000000 | 31 mars |

Mise à jour: Enfin, sachez quel est le problème essayé echo $str1et il sort, 20140121|Adrian Perez|ce qui signifie qu'il N'EST PAS vraiment dans le fichier. Haaa! Je suis tellement en désordre! -_-

joanne_
la source
vous pouvez simplement utiliser grep. par exemplegrep $str filename.txt
mcantsin
@mcantsin J'ai essayé ça, ça n'a pas marché
joanne_
et quelle est l'erreur? - Pas de sortie?
mcantsin
@mcantsin yup pas de sortie!
joanne_
J'ai testé votre exemple et cela fonctionne parfaitement pour moi. - Bien sûr, il n'y a pas de faute de frappe?
mcantsin

Réponses:

12

Utilisez ceci:

grep "$str" filename.txt

pour éviter une mauvaise interprétation des caractères spéciaux.

Pour en savoir plus, reportez-vous à ceci:

jobin
la source