Suchen Sie nach einem bestimmten Text aus der Datei und geben Sie die Zeile aus (Shell-Skript).

12

Angenommen, ich habe eine Variable $ str1

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

Ich möchte diesen Teil in der Datei durchsuchen. Die Datei enthält zum Beispiel:

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|

Die Ausgabe sollte sein:

20140121-21: 48: 26 | Joanne Frances | Perez | 9173046751.000000 | 31. März |

Update: Endlich wissen, was zum Teufel das Problem versucht hat echo $str1und es gibt aus, 20140121|Adrian Perez|was bedeutet, dass es wirklich NICHT in der Datei ist. Haaa! Ich bin so ein Durcheinander! -_-

joanne_
quelle
Sie können einfach grep verwenden. zBgrep $str filename.txt
Mcantsin
@mcantsin Ich habe das versucht, es hat nicht funktioniert
joanne_
und was ist der Fehler? - Keine Leistung?
Mcantsin
@mcantsin yup keine Ausgabe!
Joanne_
Ich habe Ihr Beispiel getestet und es funktioniert perfekt für mich. - Sicher gibt es keinen Tippfehler?
Mcantsin

Antworten:

12

Benutze das:

grep "$str" filename.txt

um Fehlinterpretationen von Sonderzeichen zu vermeiden.

Weitere Informationen finden Sie hier:

Job in
quelle