Cela trouve un grand nombre de fichiers qui se trouvent dans divers sous-répertoires de "Dropnot"
$ locate Dropnot
Puis-je trouver uniquement l'emplacement du répertoire avec locate
? (dans quel répertoire "Dropnot" se trouve)
Donc, si Dropnot
est dans /home/me/
, c'est la seule entrée qui est retournée.
Si oui, quel est le moyen le plus simple / le plus court?
De préférence à travers un drapeau ou un symbole plutôt que de le canaliser et de le chercher, etc., mais je prendrais n'importe quoi en option.
Peut-être une sorte de Dropnot $ pour la fin de la ligne? (mais n'a pas fonctionné).
-e
optiononly print entries for currently existing files
?J'ai
mlocate
installé. C'est la distribution par défaut de RedHat, donc ce sera sur Fedora, RHEL, CentOS. Deman 1 locate
Donc, si vous exécutez
locate -b '\Dropknot'
, il ne rapportera que les fichiers ou répertoires avec exactement cette chaîne.la source
locate -b /Dropnot
travailléAvec GNU Locate (les autres implémentations de Locate peuvent différer):
Lorsqu'il n'y a pas de caractère générique dans l'argument,
locate
recherche un chemin d'accès ayant le terme de recherche spécifié comme sous-chaîne. Lorsque l'argument est un modèle de shell contenant un ou plusieurs caractères génériques,locate
recherche une correspondance complète. Si vous ne voulez pas sortir le/Dropnot
à la fin:la source
Si vous êtes sur RedHat, vous avez probablement installé mlocate et non Secure Locate. Dans ce cas, il n'y a pas d'option -e et vous devez utiliser -r ou --regexp pour effectuer une recherche à l'aide d'expressions régulières de base.
la source
Slackware utilise
slocate
par défaut, qui a une recherche regex avec optionr
:recherchera les répertoires nommés
Dropnot
.Ceci recherche par exemple pour les numéros -Seulement
Dropnot
répertoires (Dropnot1, Dropnot2, etc.):la source
Je ne sais pas pourquoi personne n'a proposé quelque chose comme ça:
Cela vérifie simplement si l'une des chaînes de localisation est un répertoire et l'imprime
la source