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 – je find 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

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *