74 votes

Comment trouver sur mon serveur un dossier portant un certain nom ?

J'ai un répertoire quelque part sur mon serveur avec le nom "exampledocs". J'ai essayé de trouver son emplacement en utilisant :

ls -d */ | grep -E 'exampledocs'

et

find * -regextype posix-extended \-regex 'exampledocs' \-type d

und

grep "exampledocs" * --recursive

Rien n'a fonctionné. Comment puis-je faire cela à partir de la ligne de commande ? J'utilise Ubuntu Server 11.0.

88voto

Noam Peled Points 980

Cela devrait également fonctionner

find folder_full_path -name exampledocs -type d

70voto

Guy Coder Points 816
find / -xdev 2>/dev/null -name "exampledocs" 

Note : Ceci est tiré de Debian, mais cela devrait fonctionner.

5voto

Chapo Points 173

locate exampledocs | grep /exampledocs$

0voto

Sergiy Kolodyazhnyy Points 97292

bash 's globstar L'option Shell et l'option [[ nous pouvons utiliser le globbing récursif et la suppression du préfixe pour trouver les répertoires qui contiennent la chaîne de caractères requise. Voici comment je chercherais bin dossier :

bash-4.3$ shopt -s globstar
bash-4.3$ for f in ./**/* ; do [ -d "$f" ] && [[ "${f##*/}" =~ ^bin$ ]] && echo "$f" ; done
./bin
./Desktop/TODAY/bin

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X