Fórum Root.cz

Hlavní témata => Software => Téma založeno: anton 20. 08. 2018, 14:21:38

Název: Rozsah čísel pro grep -E
Přispěvatel: anton 20. 08. 2018, 14:21:38
jak prosim mohu pro grep specifikovat rozsah cisel mezi 40-199 s mezerou na konci?
zkusil jsem toto ale nefunguje mi to spravne :(
Kód: [Vybrat]
grep -E "[40-199]{2,3} "
Název: Re:Rozsah čísel pro grep -E
Přispěvatel: matus 20. 08. 2018, 14:34:43
"([4-9][0-9])|(1[0-9]{2}) "

Tohle by melo fungovat spis, potiz s cisly v konkretnim rozsahu u regexu je, ze je musis specifikovat po cislicich.
Jinak na nastudovani regexu doporucuju https://www.codeproject.com/Articles/9099/The-Minute-Regex-Tutorial
Název: Re:Rozsah čísel pro grep -E
Přispěvatel: anton 20. 08. 2018, 14:51:39
dekuji cele jsem to pridal jeste do jednech zavorek a uz mi to asi bezi spravne

"(([4-9][0-9])|(1[0-9]{2})) "


kdyby nekdo vedel o zpusobu jak to udelat vic jednoduse tak sem s nim pls
Název: Re:Rozsah čísel pro grep -E
Přispěvatel: ruby 20. 08. 2018, 14:54:35
Kód: [Vybrat]
ruby -ne 'print if (40..199) === $_.to_i'
Název: Re:Rozsah čísel pro grep -E
Přispěvatel: Jirsákův interpreter 20. 08. 2018, 15:37:49
Kód: [Vybrat]
ruby -ne 'print if (40..199) === $_.to_i'
co dělá tenhle výron?

Není lepší
Kód: [Vybrat]
$ ruby -e 'printf "(%s)",(40..399).map(&:to_s).join("|")'
Název: Re:Rozsah čísel pro grep -E
Přispěvatel: ruby 20. 08. 2018, 15:47:09
co dělá tenhle výron?

filtruje vstup

Kód: [Vybrat]
seq 500 | ruby -ne 'print if (40..199) === $_.to_i'

vytiskne čísla mezi 40 a 199

Není lepší
Kód: [Vybrat]
$ ruby -e 'printf "(%s)",(40..399).map(&:to_s).join("|")'

není, neřeší tazatelův problém