Mam takie ciągi znaków z pliku dziennika
rule family="ipv4" source address="54.246.81.158" reject
rule family="ipv4" source address="175.36.129.24" reject
W jaki sposób mogę dopasować adres IP z każdego z tych łańcuchów, a następnie zastąpić oryginalny z dopasowanym IP, używając wyrażenia regularnego w edytorze tekstu Notepad ++?
Spodziewany wynik :
54.246.81.158
175.36.129.24
Wolę osiągnąć cel używając regex i Wyszukaj i zastąp tylko. Jeśli to możliwe, w Notepad ++ Wiem, że mogę korzystać z funkcji makr, ale nie chcę tego robić.
Na początku dopasujemy adres IP do wyrażenia regularnego ( \d{1,3}.\d{1,3}.\d{1,3}.\d{1,3}
). W drugim zastępujemy oryginalny ciąg IP z kroku # 1
Ale nie jestem pewien, czy jest to możliwe za pomocą Notepad ++.
Jeśli mi się to nie uda, użyję vim :-)
networking
notepad++
regex
Twissell
źródło
źródło
rule family="ipv4" source address="
jest wspólny we wszystkich liniach, możesz także zastąpić swój adres IP, nagrywającmacro
dla jednego wiersza i wykonanie go do końca pliku.Odpowiedzi:
^.+?((?:\d+\.){3}\d+).+$
$1
. matches newline
Wyjaśnienie:
Zastąpienie:
Wynik dla danego przykładu:
Aby mieć pewność, że masz adres IP, użyj
zamiast
źródło
Prostsze rozwiązanie, ale nie używające RegEx:
Zastąpić
z niczym i
z niczym.
źródło