file di ricerca del terminale per testo che contengono i nomi dei file

5

Diciamo che c'è un file chiamato "abc_deh.xyz", quale comando devo usare per trovare la posizione di quel file nel terminale mac usando solo il termine di ricerca "deh"? Quindi, in sostanza, ti sto chiedendo come cercare un file per testo contenuto nel suo nome. Ho bisogno di trovare i file che ho dimenticato l'intero nome, che sarebbe stato più utile.

    
posta Andy 03.06.2013 - 22:36
fonte

3 risposte

7
sudo find / -type f -name "*deh*"

se vuoi cercare anche le directory, allora rimuovi il tipo -f. Puoi anche provare:     sudo localizza deh

Se il tuo database di localizzazione non viene creato (o aggiornato), c'è la possibilità che tu abbia quel file sul filesystem, ma non è stato ancora memorizzato. Piuttosto che eseguire un singolo comando di ricerca sopra, la creazione del database locate.db potrebbe essere un piano migliore in futuro.

    
risposta data 03.06.2013 - 22:43
fonte
0

Il comando mdfind può essere utilizzato per trovare tutti i file indicizzati che contengono una stringa specifica nel nome file.

Nel tuo caso:

 mdfind -name deh
    
risposta data 03.06.2013 - 22:55
fonte
0

Uso glob-complete-word molto:

open */*deh # press \eg to complete paths

Inoltre aggiungi set show-all-if-ambiguous on a ~/.inputrc se non lo hai già fatto. Se ci sono più completamenti, fa la prima pressione di \eg mostra tutti loro. Se non è abilitato e ci sono più percorsi che corrispondono a */*deh , la parte *deh viene eliminata.

Se utilizzi bash 4, shopt -s globstar rende ** corrispondente a più livelli di directory.

Se usi mdfind o find e c'è una singola riga di output, puoi usare un attacco chiave come questo per inserirlo:

"\eo": "$(!!)\e\C-e"
    
risposta data 04.06.2013 - 11:46
fonte

Leggi altre domande sui tag