Una ricerca con locate
trova i percorsi nel filesystem.
Spesso sai a priori di essere interessato solo ai file o solo alle directory.
Una ricerca 'individuare' spesso restituisce molti risultati. Sarebbe utile includere solo uno dei tipi nel risultato, perché aiuta a ridurre l'output.
Ma c'è un argomento più interessante da tralasciare file o directory: perché l'elenco dei percorsi dei risultati può essere ambiguo, non solo in teoria.
L'esempio che segue è un caso reale e non insolito:
$ locate --regex --basename "xfce4-keyboard-overlay$"
/usr/local/bin/xfce4-keyboard-overlay
/usr/local/share/xfce4-keyboard-overlay
Ok, abbiamo trovato qualcosa! Ma ... file o directory?
$ file /usr/local/bin/xfce4-keyboard-overlay
/usr/local/bin/xfce4-keyboard-overlay: bash script
Quindi questo è un file ...
$ file /usr/local/share/xfce4-keyboard-overlay
/usr/local/share/xfce4-keyboard-overlay: directory
mentre il secondo no.
Questa ambiguità sta rendendo difficile la lettura di lunghi elenchi di percorsi, quindi sarebbe davvero bello filtrare le directory, ad esempio usando un'opzione di linea comune per locate
.
Esiste qualcosa del genere? Anche se il filtro per le directory è separato da Locate?
Almeno, si potrebbe usare uno script per ripetere tutti i nomi dei file da controllare, il che potrebbe essere lento.
while
dichiarazione?