Si vorrà utilizzare find
per questo, dal momento che grep
non funzionerà in modo ricorsivo (per quanto ne so). Qualcosa del genere dovrebbe funzionare:
find . -name "strings.xml" -exec grep "text" "{}" \;
Le ricerche find
comando a partire dalla directory corrente (.
) per un file con il nome strings.xml (-name "strings.xml"
), e poi per ogni file trovato, eseguire il comando specificato grep
. Le parentesi graffe ("{}"
) sono un segnaposto utilizzato da find
per specificare il nome del file trovato. Maggiori dettagli possono essere trovati in man find
.
Si noti inoltre che l'opzione -r
per grep non è più necessaria, poiché find
funziona in modo ricorsivo.
fonte
2013-06-04 18:41:55
Grazie, che cosa le parentesi graffe fanno? – thisiscrazy4
@ thisiscrazy4 Aggiornato con queste informazioni. –
Ho usato questo comando per trovare una stringa in particolare tipo di file. trovare. -name "* .java" -exec grep -rn "string" "{}" \; Mostra le occorrenze ma il nome del file è assente. Come stampare anche il nome del file. aiuto di Pls. –