Gibt es ein grep-Äquivalent für die Schalter -print0 von find und -0 von xargs?

Ich möchte oft solche Befehle schreiben (inzsh, falls relevant):

find <somebasedirectory> | \
    grep stringinfilenamesIwant | \
    grep -v stringinfilesnamesIdont | \
    xargs dosomecommand

(oder komplexere Kombinationen von Greps)

In den vergangenen Jahrenfind hat das hinzugefügt-print0 wechseln, und xargs hat hinzugefügt-0, die es ermöglichen, Dateien mit Leerzeichen im Namen auf elegante Weise zu behandeln, indem stattdessen Dateinamen mit Nullen abgeschlossen werden.

find <somebasedirectory> -print0 | xargs -0 dosomecommand

Jedoch,grep (Zumindest die Version, die ich habe, GNU grep 2.10 unter Ubuntu), scheint kein Äquivalent zu haben, das man konsumieren kannund nullterminierte Zeilen erzeugen; es hat--null, aber das scheint nur mit der Verwendung zu tun zu haben-l um beim suchen in dateien direkt mit grep namen auszugeben.

Gibt es eine äquivalente Option oder eine Kombination von Optionen, die ich mit grep verwenden kann? Alternativ gibt es eine einfache und elegante Möglichkeit, meine Befehlspfeife einfach mit Suchanfragen auszudrücken-regexoder vielleicht Perl?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage