Mam wiele plików w katalogu dzienników. Musisz szukać ciągów takich jak xyz:
i wydrukuj wiadomość, jeśli log zawiera liczbę większą niż 3000.
Example "xyz:40000/my"
Czy ktoś może podpowiedzieć, jak to osiągnąć, używając regEx w Perlu.
if(/xyz:/)
{
if(number next to xyz: is greater than 3000)
{
print "Oh my god";
}
}
Wiem, że to elementarne pytanie, ale jestem nowy perl regEx
. Wszelkie wskazówki pomogłyby
Odpowiedzi:
3 dla odpowiedzi № 1Możesz wypróbować ten fragment w skrypcie uruchomionym przy użyciu perl -n
:
if (/^xyz:([0-9]+)/)
{
if ($1 > 3000)
{
print "Oh no!";
}
}
Możesz także wydrukować całe nieprawidłowe drukowanie linii $_
(Lub tylko print
, domyślnie do bieżącego wiersza). Możesz nawet zaakceptować wzorzec do wyszukania w każdym wierszu w wierszu poleceń itp.