2016-06-03 9 views

Antwort

0
#grep line containing two and exclude which has twoA 
grep two filename.txt |grep -v twoA 
oneB twoB threeB 
oneA twoD threeA 

Awk Verwendung:

awk '!/twoA/ && /two/' filename.txt 
    oneB twoB threeB 
    oneA twoD threeA 
0

Sagen Sie einfach:

$ grep 'two[^A]' file 
oneB twoB threeB 
oneA twoD threeA 

Das heißt, grep für two abgesehen von A beliebiges Zeichen folgt.

+1

das ist nett, wie es auch verwendet werden könnte, wenn Zeilen mehr als ein Vorkommen von 'zwei' zu' grep 'twoA' Datei | enthalten grep -v zwei [^ A] '. Sagen wir, du wolltest Zeilen, die 'twoA' haben, aber keine anderen' two's. Nett! – threefrenchhens

+0

@ threefrenchens in der Tat! Und Sie können auch 'awk' und einen schönen Trick verwenden ->' awk -F 'twoA' 'NF == 2' file'. – fedorqui