Fórum Ubuntu CZ/SK

Ubuntu pro osobní počítače => Software => Příkazový řádek a programování pro GNU/Linux => Téma založeno: Numirah 13 Dubna 2009, 21:45:28

Název: grep ??.??.???? [vyřešeno]
Přispěvatel: Numirah 13 Dubna 2009, 21:45:28
Ako donútim grep aby mi vyhľadal ??.??.???? , teda akékoľvek dva znaky, bodku, akékoľvek dva znaky, bodku a akékoľvek štyri znaky (teda vlastne akýkoľvek dátum)
Název: Re: grep ??.??.????
Přispěvatel: premet 13 Dubna 2009, 21:56:17
Myslím, že takhle by to mělo stačit
Kód: [Vybrat]
echo -e "22.12.2009\n12.4.1009\nfoo" | egrep '[0-9]{1,2}\.[0-9]{1,2}\.[0-9]{4}'
22.12.2009
12.4.1009
Název: Re: grep ??.??.????
Přispěvatel: Numirah 13 Dubna 2009, 22:03:52
funguje ďakujem

edit: ešte pre vysvetlenie prečo je najprv {1,2} a potom stačí {4} ?
Název: Re: grep ??.??.???? [vyřešeno]
Přispěvatel: premet 13 Dubna 2009, 22:10:18
To je počet opakování, čili 0-9 jednou nebo dvakrát a pak 0-9 čtyřikrát
Název: Re: grep ??.??.???? [vyřešeno]
Přispěvatel: Numirah 13 Dubna 2009, 22:14:42
takže v mojom prípade by to mohlo byť aj
Kód: [Vybrat]
egrep '[0-9]{2}\.[0-9]{2}\.[0-9]{4}'
ešte raz vďaka aj za vysvetlenie
Název: Re: grep ??.??.???? [vyřešeno]
Přispěvatel: premet 14 Dubna 2009, 00:29:13
Tak datum nemá vždy tvar xx.xx.xxxx ne ? Co třeba x.xx.xxxx, nebo xx.x.xxxx  ;D
Název: Re: grep ??.??.???? [vyřešeno]
Přispěvatel: Yontalcar 14 Dubna 2009, 00:57:34
přihodím odkaz s dalším vysvětlováním :)
http://www.root.cz/serialy/regularni-vyrazy/ (http://www.root.cz/serialy/regularni-vyrazy/)