Come eseguire il grep dei file nella directory corrente e in tutti i sottodir


-1

So che questa domanda è stata posta prima, ma le soluzioni proposte non funzionano per me.

Sto cercando di trovare la stringa "modelInstance.addObservers" in qualsiasi file (idealmente qualsiasi file con la fine .js, ma va bene anche senza questo filtro) nella directory corrente e in tutte le sottodirectory. Ecco cosa ho provato:

grep -rl "modelInstance.addObserver" .

Si comporta come se l'istruzione fosse incompleta, perché continua a stampare righe vuote quando premo enter. Qual è il problema?

Sono su mac.

Ecco come appare: inserisci qui la descrizione dell'immagine


Veloce anche se senza test: In find . -name * | grep "modelInstance.addObserver" .caso contrario, alcune variazioni come tale convogliano un ricorsivo findal grepcomando. Forse un potenziale punto di partenza per te almeno.
Pimp Juice IT

Fornisci il codice e / o indica gli errori. Il testo sull'immagine è troppo piccolo per essere letto da alcune persone. Inoltre, il testo sull'immagine non può essere indicizzato dai motori di ricerca per i visitatori futuri.
JWW

Risposte:


0

Non c'è niente di sbagliato: il tuo terminale fa eco ai caratteri digitati quando nessun programma richiede input; nel frattempo grepè in esecuzione, ma non trova alcun file con la stringa corrispondente.

Sarà molto più veloce se limiti le tue ricerche ai .jsfile usando find:

find . -name "*.js" -exec grep -l 'modelInstance\.addObservers' {} \;

Nota che sono sfuggito alla .stringa di ricerca per far corrispondere solo un carattere letterale .e non arbitrario in quella posizione.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.