La fel ca -L
caută conținutul unui fișier fără potrivire, -l
caută conținutul unui fișier cu o potrivire.
Deci, va trebui să specificați steagul -l
în al doilea „grepping”.
În plus, va trebui să direcționați ieșirea primului grep
către al doilea ca argumente din linia de comandă. Acest lucru se poate face folosind xargs
, care este un instrument pentru citirea articolelor din intrarea standard. Introducerea directă a numelor fișierelor ar face ca al doilea grep să caute șirul authenticate
în fișierul nume .
așa că ar trebui să sfârșiți cu ceva de genul
grep -r --color -L "class public interface" * | xargs grep -l "authenticate"`
Rețineți că xargs
implicit împarte intrarea pe orice spațiu alb, deci dacă aveți nume de fișiere cu spații (sau mai rău), va trebui să utilizați grep -Z
și xargs -0
pentru a avea numele fișierelor separate prin NUL octeți. ( În GNU grep, adică. Altele pot fi diferite, de ex. FreeBSD grep are --null
în schimb.)
Comentarii