Nowe posty

xx Problem ze sterownikami. (5)
2024-04-13, 21:25:16
xx Instalacja xfce4 (2)
2024-04-13, 16:20:17
xx Serie kompilacji bez instalacji dla “emerge” w Gentoo (2)
2024-04-08, 18:40:04
xx Plasma 6 w Neonie ssie trochę mniej ... (17)
2024-04-05, 10:03:46
xx Problem z Linux Lite po instalacji (3)
2024-04-03, 14:23:40
xx Jak właczyć num locka przy starcie systemu debian 12? (12)
2024-04-02, 17:43:54
xx Brak dźwieku w systemie. (5)
2024-04-02, 16:13:41
xx Dystrybucja pod HP Omen (7)
2024-03-29, 11:33:05
xx [Poradnik] Wyszukiwanie Sterowników (2)
2024-03-27, 21:08:23
xx Ile pingwinów? (1)
2024-03-27, 08:59:24

Autor Wątek: komenda znajdujaca wiersze zawierające liczby rzymskie w pliku  (Przeczytany 3693 razy)

bialkos89

  • Gość
Sima! potrzebuje malej pomocy gdyz nie moge wpasc na na komende ktora znajduje wiersze zawierajace liczby rzymskie w pliku.
jak dotad udalo mi sie zrobic tyle "egrep [IXVLCDM] nazwa_pliku.txt"
Natomiast niepoprawnosc powyzszej komendy polega na wyswietla wierszy ktore zwieraja "IIII"  a wiadomo ze nie jest to liczba rzymska. Macie jakies pomysly jak zrobic to by nie byly wyswietlane takie wiersze?

arctgx

  • Gość
komenda znajdujaca wiersze zawierające liczby rzymskie w pliku
« Odpowiedź #1 dnia: 2009-12-14, 21:07:17 »
Nie zapoznałeś się z rozszerzonymi wyrażeniami regularnymi (przykładami oraz man 7 regex). Jeden kwadratowy nawias to tylko pojedynczy znak (spośród wymienionych tam), a Ty masz szukać całych ciągów, np II czy IX.

Przykładem jest wyrażenie 'X|IV', w którym znak | oznacza alternatywę. Żeby wyeliminować niepotrzebne przypadki, a zarazem wziąć pod uwagę duże rzymskie liczby, i tak pozostaje Ci pokombinować ze stworzeniem własnego wyrażenia. Poszukaj przykładów w sieci (extended regular expressions), by umieć zrobić to samodzielnie.

tofikmb

  • Gość
komenda znajdujaca wiersze zawierające liczby rzymskie w pliku
« Odpowiedź #2 dnia: 2009-12-14, 21:16:58 »
ja mam tak sprawdzajacy do XX ale na poczatku wiersza musi być spacja ;/
egrep " '|[V]|[X]'{1,3} " plik.txt

arctgx

  • Gość
komenda znajdujaca wiersze zawierające liczby rzymskie w pliku
« Odpowiedź #3 dnia: 2009-12-14, 21:22:10 »
W podanym przeze mnie manualu jest napisane, jak oznaczany jest początek linii. W niejednym przykładzie bez wątpienia też znajdziesz przypadki, gdzie jakieś wyrażenie przylega do niego.

Skomentuję natomiast coś, co już zrobiłeś: nie trzeba pisać [X], wystarczy sam X. Po co tworzyć jednoelementowe grupy? Podobnie, zamiast X|V, grupujesz w postaci [XV]. Co innego np. X|IV.

P.S. Dopiero zwróciłem uwagę, że ostatniego posta napisał użytkownik (chciałem napisać bardziej "po ludzku", ale jedna osoba może korzystać w końcu z wielu użytkowników ;)) inny niż autor :D. Zostawię już tę wpadkę :D.