Per trovare tutti i file che contengono una determinata stringa, puoi utilizzare solo grep da solo:
grep -R /path/to/directory "myword"
Nell'esempio precedente, "myword"
è ciò che stai cercando e /path/to/directory
è la directory che desideri cercare. -R
indica grep
per eseguire una ricerca ricorsiva (vale a dire iniziare dal percorso specificato e accedere a ciascuna sottodirectory).
Modifica
Ho riletto la tua domanda e penso che tu stia cercando come trovare i file che hanno un determinato nome di file. Per questo uso:
find /path/to/directory -name "*glob*" -print
dove /path/to/directory
è dove vuoi iniziare la tua ricerca (e find
cercherà anche nelle sottodirectory) e "*glob*"
è un nome di file completo o parziale che vuoi cercare. Tieni presente che puoi utilizzare caratteri jolly ( .
e *
per ogni singolo e più caratteri corrispondenti, rispettivamente) nel glob. Come variante a questo, puoi usare, come proposto da altri:
find /path/to/directory -name "*glob*" -exec ls -la {} \;
in quanto sopra, ciò che si inserisce dopo l'opzione -exec
è un qualsiasi comando UNIX con parametri (in questo caso ls -la
). {}
verrà sostituito dal nome file find
trova e \;
è una stringa di terminazione.
EDIT 2
Nota: i comandi sopra ti danno risultati simili a Spotlight, ma non usano affatto Spotlight.
Se desideri utilizzare Spotlight dalla riga di comando, puoi utilizzare il comando mdfind
, che è un'interfaccia della riga di comando per Spotlight. Digitando mdfind
da solo ti fornirai un aiuto rapido per usarlo con alcuni esempi. man mdfind
ti fornirà un manuale più dettagliato.
In sostanza mdfind
prende una stringa di ricerca (e modificatori facoltativi) come argomento ed è la stessa che dovresti digitare nel campo di testo di Spotlight quando lo usi in una GUI.