grep - Liste alle Zeilen, die nicht mit Muster
Ich habe eine text-Datei mit einigen Datensätzen. Ich habe zwei Muster, um zu überprüfen, und ich will die Liste alle Zeilen aus der Datei nicht mit beiden Muster. Wie kann ich dies tun, mit grep
Befehl?
Ich habe versucht, einige Dinge mit grep -v
aber nichts scheint zu funktionieren.
Nehme an, meine text-Datei ist wie folgt.
1. qwerpattern1
yui
2. anzeigenpattern2
asd
3. cczxczc
4. jkjkpattern2
adsdapattern1
Ich möchte die Liste der Linien 1, 2 und 3 nur.
Vielen Dank im Voraus.
- Bitte teilen Sie, was Sie versucht haben, zusammen mit Beispiel für die Eingabe und erwartete Ausgabe.
- Warum brauchen Sie, um mit grep? awk würde viel einfacher sein.
- Da Sie nicht zu erklären das sehr gut, Sie bekommen ein Chaos, eine Antwort. Diese
I have two patterns to verify and I want to list all lines from the file not containing either or both pattern.
bedeutet, dass, wenn es irgendwelche für Muster, die nicht drucken, die Zeile, also in deinem Beispiel wäre es nur print line3
Du musst angemeldet sein, um einen Kommentar abzugeben.
Können Sie verwenden:
Sonst mit
egrep
:UPDATE: Basierend auf Kommentare, es scheint, folgende awk besser funktionieren wird:
awk
Befehl funktioniert, danke.!($0 ~ /word1/ && $0 ~ /word2/)
->!(/word1/ && /word2/)
. In diesem Fall/word1/ && /word2/{next} 1
KÖNNTE klarer sein, aber YMMV.Wenn ich mich zu halten mit den Kommentaren und Bearbeitungen Recht, ich denke, das ist, was Sie brauchen:
Wenn Sie möchten, um zu versuchen
awk
Wird es nicht drucken Sie alle Zeilen, wenn es enthält prasselt
Kann man auch erweitern:
Beispiel
entfernen Sie alle Zeilen mit
one
odertwo
von Ihnen oder beide.awk
'!($0 ~ /pattern1/ && $0 ~ /pattern2/)'
Während die standard-tools basierende Antworten (
awk
,grep
usw.) sind in der Regel einfacher und unkomplizierter, ist für den Abschluss, wenn Sie brauchte einen reinen bash-Lösung, Sie könnten dies tun:this is 100% the wrong approach
.awk '!(/pattern1/ && /pattern2/)' file
? Ich Frage mich immer darüber, wenn ich sehe, wie diese relativ lange, komplexe shell-Lösungen, und ich Frage mich, ob die OP Lesen und denkt, dass es muss eine nutzen-und was Sie denken, das wäre...