Commande find: mauvais résultat ?
Résolu
charline159
Messages postés
208
Date d'inscription
Statut
Membre
Dernière intervention
-
charline159 Messages postés 208 Date d'inscription Statut Membre Dernière intervention -
charline159 Messages postés 208 Date d'inscription Statut Membre Dernière intervention -
Bonjour!
A l'aide la commande
Cependant, voilà le résultat:
Pourquoi ai-je ces résultats alors que j'ai spécifié que je cherchais quelque chose qui commence par ./B ? Ou sinon, comment faire?
A l'aide la commande
find, je souhaite chercher les dossiers commençant par B dans le répertoire courant (home). Je lance donc cette commande:
find . -type d -maxdepth 1 | egrep "^\./B*"
Cependant, voilà le résultat:
./Vidéos
./Bureau
./.themes
./IdeaProjects
./.cache
./.oh-my-bash
./.pki
./.icons
./.jdks
./.android
./CLionProjects
./Téléchargements
./PycharmProjects
./Modèles
./Public
./.config
./.zoom
./PhpstormProjects
./Images
./.vscode
./.cinnamon
./.java
./.symfony
./.mozilla
./.gnupg
./Documents
./.linuxmint
./.var
./.local
./fonts
./Musique
Pourquoi ai-je ces résultats alors que j'ai spécifié que je cherchais quelque chose qui commence par ./B ? Ou sinon, comment faire?
Configuration: Linux / Firefox 88.0
A voir également:
- Commande find: mauvais résultat ?
- Invite de commande - Guide
- Commande terminal mac - Guide
- Find and mount - Télécharger - Récupération de données
- Commande dism - Guide
- Diskpart commande - Guide
1 réponse
Bonjour,
Le résultat est normal, c'est juste que ce que la signification que tu donnes à
Ici, ton expression régulière conserve les lignes retournées par
Dans ton cas, la bonne expression rationnelle serait tout simplement :
Bonne chance
Le résultat est normal, c'est juste que ce que la signification que tu donnes à
*(n'importe quelle séquence de caractère) et celle de
*dans grep (l'étoile de Kleene) sont différentes.
Ici, ton expression régulière conserve les lignes retournées par
findsur la sortie standard qui :
-
^
: ... qui commencent par ... -
\.
: ... le caractère.
... -
/
: ... suivi de/
... -
B*
: ... suivi de B répété 0 fois ou plus ... - ... (sous entendu, suivi de n'importe quoi, puisque tu n'as pas mis de
$
en fin d'expression).
Dans ton cas, la bonne expression rationnelle serait tout simplement :
find . -type d -maxdepth 1 | egrep "^\./B"
Bonne chance
(j'avais oublié que l'étoile s'appliquait directement à ce qui précédait)
ça marche parfaitement, merci pour ton aide :)