/ / Cerca tutti i file e in tutti i file - linux, macos

Cerca tutti i file e in tutti i file - linux, macos

Sto cercando uno script, uno strumento ... per Linux che trovi tutti i file e in tutti i file la parola chiave, simile a OSX Finder (non sto guardando una app con la stessa interfaccia del Finder, ma solo le stesse opere)

per esempio. se cerco nel Finder OSX "linux" ottengo:

linux (directory with linux name)
linux-2.4.0 (directory with linux in name)
...
memory.h (file with linux in text)
...
command.c (file with linux in text)
...
so-08-filesystem.pdf (pdf with linux in text)
...

C'è qualcosa di simile per Linux?

Grazie a tutti, ma usa "trova" e "grep" (intutte le loro varianti), cercare i file e nei file visti come file linux, vale a dire che la codifica dei loro caratteri viene memorizzata nella memoria. Ad esempio non funzionerà con i file .pdf

risposte:

0 per risposta № 1

sì, non c'è bisogno di scaricare nulla, basta aprire il terminale e fare:

sudo find / -name "*keyword*"

e questo cercherà la tua directory di base (/) per tutti i file che corrispondono alla parola chiave. Le stelle significano che qualsiasi cosa può essere su entrambi i lati della parola chiave .. ad es. se avessi fatto:

sudo find / -name "*.html"

ritornerà:

/var/www/index.html
/var/www/list.html

0 per risposta № 2

Il comando find viene utilizzato per trovare tutti i file da una directory in ordine ricorsivo e può eseguire più script con il comando find per trovare il contenuto da tali file.

find sourcedirectory/ -iname "*file*" -exec grep -i keyword {} ;

Questo comando sopra troverà tutti i file da sourcedirectory che hanno il file dei nomi in entrambi i lati del nome del file. E poi il comando grep utilizzato per cercare le variabili di parole chiave da quei file.

se vuoi cercare da tutti i file in una directory, usa il comando di sotto.

find sourcedirectory/ -type f -exec grep -i keyword {} ;

0 per risposta № 3

È possibile implementare il proprio cercatore. Aggiungi la seguente funzione al file ~ / .bashrc

finder() {
find -name "*$1*" && grep -r "$1"
}