Dette spørgsmål har allerede svar her :
Kommentarer
- Det første eksempel bruger normal regexp-syntaks, hvor det andet bruger udvidet syntaks. Din version af
find
forventer naturligvis førstnævnte som standard. Du siger ikke ' hvilket system du ' er på – dinfind
har muligvis en skift for at aktivere udvidet regexparsing. På FreeBSD f.eks. ' s-E
- @D_Bye ah, at ' er et godt punkt. CentOS6. Jeg ' har prøvet
-regextype posix-extended
og det virker heller ikke '
Svar
Hvis du bruger GNU
find, skal dette fungere for dig
find . -regextype sed -regex "./test[0-9]\{2\}.txt"
Forklaring
-
-regextype sed
– brug grundlæggende posix regulært udtryk (bare fordi det er det, jeg er bekendt med) -
./
– nødvendigt, fordi find finder alle filstier i en relativ søgning til at begynde med dette mønster -
[0-9]\{2\}
– 2 forekomster af[0-9]
cifret tegnklasse med kvantificeringen\{...\}
parenteser undsluppet – pr. grundlæggende posix regulære udtryk