grep verwendet die Ausgabe eines anderen Befehls

8

Angenommen, ich habe command1 , was dies ausgibt:

%Vor%

Ich habe auch command2 , was dies ausgibt:

%Vor%

Gibt es eine Möglichkeit, die Ausgabe von command1 zu grepsen, um keine Zeilen einzufügen, die aus command2 stammen, sodass die endgültige Ausgabe so aussehen würde?

%Vor%     
bruchowski 07.05.2014, 04:47
quelle

2 Antworten

13

Gib dieses Grep aus

%Vor%

Hier,

-F bedeutet Feste Zeichenfolgenübereinstimmung *

-v bedeutet umgekehrte Übereinstimmung

-f bedeutet die Datei mit Mustern

<(command) erstellt tatsächlich einen FIFO mit diesem Befehl und verwendet ihn für die Umleitung.

    
Shiplu Mokaddim 07.05.2014, 04:53
quelle
5

Um alle Zeilen aus der Ausgabe von command1 zu erhalten, die nicht in der Ausgabe von command2 erscheinen:

%Vor%

-f weist grep an, Muster zu verwenden, die aus einer Datei stammen. In diesem Fall ist diese Datei die Ausgabe von command2 . -F sagt grep , dass diese Muster als feste Strings und nicht als Regex behandelt werden sollen. -v sagt grep , um sein normales Verhalten zu invertieren und zeigt nur Zeilen, die nicht entsprechen.

    
John1024 07.05.2014 04:53
quelle

Tags und Links