5
Ich möchte in der Lage sein, die Dateien, die ich mit meiner ersten Grep-Anweisung gefunden habe, zum Beispiel: grep -r Makefile * Und dann übergeben Sie die Dateien in diesem Pass von grep zu einem zweiten Grep mit etwas wie gefunden das zum Beispiel: grep {dateien} '-lfoo'Wie übergebe ich die resultierenden Dateien von einem Grep-Pass zu einem anderen, so dass ich nur die Teilmenge mit dem zweiten Durchlauf grep?
Wie mache ich das? Ich weiß, dass es einen Weg geben muss.
Vielen Dank.
Ich würde empfehlen: 'grep -l firematch | xargs grep - Zweitmatch'. Dadurch wird Grep so oft wie möglich aufgerufen. Auch ohne das '-I {}' (oder jetzt veraltet -i) werden die geschweiften Klammern nicht interpretiert. Außerdem bewirkt Ihr Befehl, dass grep für jede Datei ausgeführt wird, die beim ersten Aufruf von grep gefunden wurde, und grep für '{}' (oder seine Ersetzung in Abhängigkeit von Ihrer grep-Variante). –
Was meinst du mit Xargs? – NSA
@ NSA: 'Xargs' ist ein Befehl. Es liest seine Standardeingabe für eine Liste von Argumenten (normalerweise Dateinamen) und verknüpft sie dann mit den Argumenten des Befehls (in diesem Fall '' grep {} secondmatch' ', um Befehle zu erzeugen, die ausgeführt werden. Für weitere Informationen, RTFM . –