2017-10-20 17 views
0

je la commande trouver linux suivante qui donne un chemin de base puis recherche également s'il y a des répertoires qui contiennent le nom 3.7.1trouver avec regex pour trouver des répertoires

Dans mon chemin de base/some/dossier/chemin/dossier1 je voudrais changer le dossier1 dans une expression régulière quelque chose comme le dossier [1-3] comment je peux faire ceci?

# working command 
find /some/folder/path/folder1/another_folder -type d -name "3.7.1*" -ls 

# would like to use some regular expresion on folder1-3 
find /some/folder/path/folder[1-3]/another_folder -type d -name "3.7.1*" -ls 


error I am seeing: /folder[1-3]/another_folder/': No such file or directory 
+0

Cela signifie qu'il n'y a pas de matchs. Notez qu'il correspond à un glob shell et non à un regex de style grep. –

+0

Alors ... Quel shell utilisez-vous? – ghoti

Répondre

0

C'est la syntaxe correcte déjà:

find /some/folder/path/folder[1-3] -type d -name "3.7.1*" -ls 
+0

effectivement cette commande donne une erreur. il pense que le nom du dossier est littéralement le dossier [1-3] et il n'utilise pas une regex. – Matt

+0

Ceci est l'erreur [1-3/': Aucun fichier ou répertoire – Matt

+0

I de certains des exemples que j'ai vus je pensais que je devrais donner un certain commutateur regex pour laisser la commande savoir im en utilisant une regex – Matt