Ich habe Linien auf meiner Standard-EingabeFilterlinien mit dem anderen Satz von Linien in Bash
$printf "C\nB\nA\n"
C
B
A
und ich möchte, um herauszufiltern Linien (oder Teil oder regexps - was einfacher ist), die auf andere Standardeingabe erscheinen :
$printf "B\nA\n"
B
A
ich erwarte, dass nur C
wenn Einträge gefiltert wird.
Ich habe versucht, mit
$printf "C\nB\nA\n" | grep -v `printf "B\nA\n"`
Aber dann
ich bin immergrep: A: No such file or directory
Wie kann ich Filterung von Standardeingabe durch Linien von anderen Befehl zurückgegeben?
Die Sache ist die, dass meine beiden Eingänge dynamisch sind (basierend auf 'curl' Ergebnis) und ich will keine Zwischendateien erstellen. –
das sollte auch funktionieren, mit Eingaben meinen Sie die zu filternden Felder? oder was du anbindest? Wenn es das ist, was du verpfeifst, dann ändere einfach 'cat file' auf was auch immer du willst, wenn ifs die zu filternde Stelle wo würde diese "Variable" herkommen? – maco1717
Die zu filternden Zeilen und der Filter selbst sind dynamisch und durch Zeilenumbrüche getrennt (nicht '\ |'). Also '' curl input1 \ '| grep -v \ 'curl input2 \' 'funktioniert nicht –