2016-12-22 2 views
0

Ich möchte die ausgewählten Zeilen mit grep Mustervergleich drucken. Ich verwende folgenden Befehl -Warum grep Fehler für Suchmuster gibt, d. H. Grep: <irgendein Muster>: Keine solche Datei oder Verzeichnis

cat MyTest.txt | grep -v -E B1 "EEB|SET|PET" 
grep: EEB|SET|PET: No such file or directory 

Ich bekomme immer über grep Fehler.

    1. Ich mag die Zeile drucken, das Muster oder Muster übereinstimmt Ich habe also EEB oder SET oder PET oder all diese genannten und
    1. Eine einzelne Zeile vor der übereinstimmenden Zeile. daher Option -B1
+1

sieht aus wie Sie das Minus vor 'B1' verpassen – Jens

+0

Es liegt daran, dass Sie eine Datei für @anubhava zu suchen hinzufügen didnt scheint die richtige Idee zu haben, – ImAtWar

Antwort

0

können Sie diesen Befehl verwenden, ohne nutzlose cat:

grep -v -E -B1 "EEB|SET|PET" MyTest.txt 

Hinweis - vor B1.

jedoch aus Ihrer Beschreibung scheint es Ihnen nicht -v (inverse Ergebnisse) und wollen diese müssen:

grep -E -B1 "EEB|SET|PET" MyTest.txt 
0

Grep hat die folgende Syntax:

grep options pattern input_file_names 

wo Optionen sind optional, aber nicht Muster. Also B1 ohne "-" wird als Muster verwendet und "EEB | SET | PET" als Datei_Name.

Sie sollten "B1" in "-B1" ändern.

Als Empfehlung

cat MyTest.txt | grep -v -E -B1 "EEB|SET|PET" 

zu

grep -v -E -B1 "EEB|SET|PET" MyTest.txt 
Verwandte Themen