Deze vraag heeft hier al antwoorden :
Reacties
- Het eerste voorbeeld gebruikt de normale regexp-syntaxis, waarbij de tweede gebruikt uitgebreide syntaxis. Uw versie van
find
verwacht uiteraard standaard de eerste. Je ' zegt niet op welk systeem je ' bent – jefind
heeft mogelijk een schakelaar om uitgebreide regexp-parsing in te schakelen. Op FreeBSD, bijvoorbeeld ' s-E
- @D_Bye ah, dat ' is een goed punt. CentOS6. Ik ' heb
-regextype posix-extended
geprobeerd en dat werkt ook niet '
Antwoord
Als u GNU
find gebruikt, zou dit voor u moeten werken
find . -regextype sed -regex "./test[0-9]\{2\}.txt"
Uitleg
-
-regextype sed
– gebruik de basis reguliere expressie van posix (alleen omdat dat is waar ik bekend mee ben) -
./
– noodzakelijk omdat find alle bestandspaden in een relatieve zoekopdracht in overweging neemt om met dit patroon te beginnen -
[0-9]\{2\}
– 2 instanties van de[0-9]
cijferklasse met de kwantor\{...\}
haakjes ontsnapt – per basis reguliere posix-expressies