Vorrei trovare tutti i file che contengono una determinata stringa di testo. Come lo faresti nel Terminal?
Vorrei trovare tutti i file che contengono una determinata stringa di testo. Come lo faresti nel Terminal?
Risposte:
grep -r 'text goes here' path_goes_here
man grep
di scoprire tutte le meravigliose opzioni di grep
No such file or directory
Sto cercando di ottenere solo l'elenco delle occorrenze di testo. Come possiamo ottenere quell'elenco?
grep -lr "text pattern" ./ -s
; grep -lr "text pattern" [PATH OF PARENT] -s
usa i riflettori
mdfind "text goes here"
mdfind -onlyin /home/user/Desktop -live "live update"
non dimenticare di guardare:
man mdfind
brew install ack
ack "text goes here"
find . |grep "text goes here"
grep -RnslI "text goes here"
La risposta di Ignacio è ottima e mi ha aiutato a trovare i file contenenti determinati testi. L'unico problema che stavo affrontando era che durante l'esecuzione di questo comando venivano elencati tutti i file, incluso uno in cui il modello non veniva visualizzato.
No such file or directory
Questo è quello che vedo accanto ai file che non contengono il modello.
Se invece aggiungi -s
al comando, come in
grep -lr "text pattern" ./ -s
:; grep -lr "text pattern" [PATH DIRECTORY] -s
viene utilizzato, ti mostrerà solo quali file contengono il modello.
Allo stesso modo se grep -nr "text pattern" ./ -s
; grep -nr "text pattern" [PATH OF DIRECTORY] -s
viene utilizzato il comando stampa il file più il numero di riga e l'occorrenza del modello.
Per favore, correggimi se la mia comprensione è sbagliata.
grep ... 2>/dev/null
. Questa soluzione funziona per la maggior parte dei programmi, poiché riportano messaggi di errore sul flusso stderr, non stdout. Ho usato questa soluzione molte volte con find
, come dirà Autorizzazione negata per molti file.
No such file or directory
messaggi per i file esistenti, stai facendo qualcosa di sbagliato o il tuo sistema è guasto. (2) Cosa [PATH OF PARENT]
c'entra con qualcosa?
[PATH OF DIRECTORY]
solo se qualcuno che non conosceva voleva sapere perché l'avevo messo./