Erre a kérdésre már megvannak a válaszok :

válasz

Csakúgy, mint -L egy fájl tartalmát egyezés nélkül, -l egyezéssel keresi a fájl tartalmát.

Tehát meg kell adnia a -l jelzőt a második “grepping” -ben.

Ezenkívül az első grep kimenetét a másodikra kell irányítania parancssori argumentumként. Ez megtehető az xargs használatával, amely egy elem az elemek elolvasásához a szokásos bemenetről. A fájlnevek közvetlen beillesztésével a második grep megkeresi a authenticate karakterláncot a nevek fájlban.

, így végül valami hasonlóval:

grep -r --color -L "class public interface" * | xargs grep -l "authenticate"` 

Ne feledje, hogy az xargs alapértelmezés szerint felosztja a bemenetet bármely szóközben, tehát ha vannak fájlnevei szóközökkel (vagy rosszabb esetben) “grep -Z és xargs -0 fájlokat kell használnia, hogy a fájlneveket NUL bájt választja el. ( Vagyis a GNU grep-ben. Mások eltérhetnek, például a FreeBSD grep --null -et tartalmaz.)

Megjegyzések

  • javaslatot adhat a grep -rLZ .. | xargs -0 .. használatához a fájlnevekből adódó problémák elkerülése érdekében

Vélemény, hozzászólás?

Az email címet nem tesszük közzé. A kötelező mezőket * karakterrel jelöltük