Tato otázka již má odpovědi zde :
Komentáře
- První příklad používá běžnou syntaxi regexp, kde druhý používá rozšířenou syntaxi. Vaše verze
find
ve výchozím nastavení zřejmě očekává předchozí verzi. ' neříkáte, jaký systém ' používáte – vášfind
může mít přepnutím zapnete rozšířenou analýzu regexp. Například na FreeBSD je ' s-E
- @D_Bye ah, že ' je to dobré. CentOS6. Zkoušel jsem '
-regextype posix-extended
a to ' nefunguje ani
Odpověď
Pokud používáte GNU
find, mělo by to pro vás fungovat
find . -regextype sed -regex "./test[0-9]\{2\}.txt"
Vysvětlení
-
-regextype sed
– použijte základní posix regulární výraz (jen proto, to je to, s čím jsem obeznámen) -
./
– nutné, protože funkce find považuje všechny cesty k souborům v relativním hledání za začátek tohoto vzoru -
[0-9]\{2\}
– unikly 2 instance třídy[0-9]
číslicových znaků s kvantifikátorem\{...\}
v závorkách základní posix regulární výrazy