Disons qu'il existe un fichier appelé "abc_deh.xyz", quelle commande dois-je utiliser pour trouver l'emplacement de ce fichier dans le terminal Mac en utilisant uniquement le terme de recherche "deh" ? Donc, en gros, je demande comment rechercher un fichier par le texte contenu dans son nom. J'ai besoin de trouver des fichiers dont j'ai oublié le nom entier, ce serait plus utile.
Réponses
Trop de publicités?sudo find / -type f -name "*deh*"
si vous voulez aussi rechercher dans les répertoires, supprimez le -type f. Vous pouvez aussi essayer : sudo locate deh
Si votre base de données locate n'est pas créée (ou mise à jour), il est possible que vous ayez ce fichier sur le système de fichiers, mais qu'il n'ait pas encore été stocké. Plutôt que d'exécuter une seule commande find ci-dessus, la construction de la base de données locate.db pourrait être un meilleur plan pour l'avenir.
J'utilise glob-complete-word
beaucoup :
open */*deh # press \eg to complete paths
Ajoutez également set show-all-if-ambiguous on
à ~/.inputrc
si vous ne l'avez pas déjà fait. S'il y a plusieurs achèvements, la première pression de la touche \eg
les montrer tous. Si elle n'est pas activée et que plusieurs chemins correspondent */*deh
le *deh
est supprimée.
Si vous utilisez bash 4, shopt -s globstar
fait **
correspondent à plusieurs niveaux de répertoires.
Si vous utilisez mdfind ou find et qu'il n'y a qu'une seule ligne de sortie, vous pouvez utiliser un key binding comme celui-ci pour l'insérer :
"\eo": "$(!!)\e\C-e"