Tähän kysymykseen on jo annettu vastauksia :
Kommentit
- Ensimmäisessä esimerkissä käytetään normaalia regexp-syntaksia, jossa toinen käyttää laajennettua syntaksia.
find
-versio odottaa ilmeisesti edellistä. Et ' sano, millainen järjestelmä ' on –find
-laitteellasi saattaa olla kytkin ottaa käyttöön laajennetun regexp-jäsentämisen. Esimerkiksi FreeBSD: ssä se ' s-E
- @D_Bye ah, että ' sa hyvä asia. CentOS6. Olen ' kokeillut
-regextype posix-extended
ja se ei toimi ' myöskään
Vastaa
Jos käytät GNU
-hakua, tämän pitäisi toimia sinulle
find . -regextype sed -regex "./test[0-9]\{2\}.txt"
Selitys
-
-regextype sed
– käytä posix-säännöllistä lauseketta (vain koska tämä on minulle tuttu asia) -
./
– välttämätöntä, koska haku pitää kaikki tiedostopolut suhteellisen haun alussa tällä kaavalla -
[0-9]\{2\}
–[0-9]
-merkkiluokan 2 esiintymää, joiden kvantisoija\{...\}
-sulkeet pakenivat – per posix-säännölliset lausekkeet