Lets sagen, ich habe eine Datei mitLöschen mehrerer Anpassungsmuster aus einer Datei
abc aab100 100 cdc 20aaab aaaan
gshgds aab122 ghsgsd cdc aajksj aaasdan
gsgdsg hqusu jsdjsd jksjks jskdk
hjshj aab1jk uiuasu cdc 100ai bbcbxb
arta hyiosa jkulp nnnnnak cdc
ich zwei Muster passen wollen und wenn beide Muster vorhanden sind, möchte ich diese Zeile löschen.
Also hier mein Muster, die ich löschen möchten sind AAb1 und cdc
In der obigen Datei, diese beiden Muster entspricht in Zeile 1, Zeile 2 und Zeile 4. So würde Ich mag diese 3 Zeilen löschen
kann ich die Ergebnisse, die ich unter Verwendung von grep wollen als
grep -v 'aab1.*cdc' test.txt > test1.txt
Auch kann ich dies ohne von
in eine neue Datei schreiben auf der gleichen Datei tunecho "$(grep -v 'aab1.*cdc' test.txt)" > test.txt
Aber gibt es eine andere bessere/schnellere/effiziente Möglichkeit, dies zu tun, ohne grep zu verwenden?
Dank
gab einen ''^:-). Die Op ist nicht klar darüber, ob die Muster getrennte Wörter sein sollen oder nicht. Aber nach dem, was ich aus den Versuchen von OP verstehe, sind separate Wörter keine Voraussetzung – sjsam
Dank @sjsam. Dieses Muster funktioniert auch auf 'aab1cdc'. – SLePort
Hier wird angenommen, dass die Reihenfolge auch angegeben ist. – karakfa