Grep nie pokazuje żadnych wyników, pokazuje tester regex online
Jestem niedoświadczony w zachowaniu grepa. Mam kilka plików XML, które zawierają takie linie:
<identifier type="abc">abc:def.ghi/g1234.ab012345</identifier>
<identifier type="abc">abc:def.ghi/g5678m.ab678901</identifier>
Chciałem uzyskać część id po ukośniku i zbudować regex przy użyciu
RegexPal
http://regexpal.com/
:
[a-z]\d{4}[a-z]*\.[a-z]*\d*
Podkreśla wszystko, czego chciałem. Ideał. Teraz, gdy uruchamiam grep na tym samym pliku, nie otrzymuję żadnych wyników. I jak powiedziałem, naprawdę niewiele wiem o grep, więc wypróbowałem wszystkie różne kombinacje.
grep [a-z]\d{4}[a-z]*\.[a-z]*\d* test.xml
grep "[a-z]\d{4}[a-z]*\.[a-z]*\d*" test.xml
egrep "[a-z]\d{4}[a-z]*\.[a-z]*\d*" test.xml
grep '[a-z]\d{4}[a-z]*\.[a-z]*\d*' test.xml
grep -E '[a-z]\d{4}[a-z]*\.[a-z]*\d*' test.xml
Co ja robię źle?
Nie znaleziono powiązanych wyników
Zaproszony:
Aby odpowiedzieć na pytania, Zaloguj się lub Zarejestruj się
7 odpowiedzi
Anonimowy użytkownik
Potwierdzenie od:
[a-z]
odpowiada wyrażeniu[a-z] *
nie pasuje doUważam również, że i rodzina nie lubią składni . Spróbuj
[0-9]
lub[: digit:]
Na koniec, używając wyrażeń regularnych, preferuj . Nie pamiętam dokładnych szczegółów, ale obsługuje więcej instrukcji regex. Ponadto w wielu powłokach (w tym bash na OS X, jak wspomniałeś, używaj pojedynczych cudzysłowów zamiast podwójnych cudzysłowów, w przeciwnym razie rozszerzy powłokę do listy plików w bieżącym katalogu zanim grep ją zobaczy (i inne metaznaki powłoki również zostaną rozwinięte). Bash nie zmienia niczego w pojedynczych cudzysłowach.Anonimowy użytkownik
Potwierdzenie od:
[0-9]
lub zezwól na wyrażenia regularne zgodne z Perl:lub:
Anonimowy użytkownik
Potwierdzenie od:
Ponadto, w zależności od tego, jaką powłokę wykonujesz w znaku „*”, można ją rozwinąć.
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
[a-z]\d{5}[.][a-z]{2}\d{6}
Anonimowy użytkownik
Potwierdzenie od:
Anonimowy użytkownik
Potwierdzenie od:
RegEx pasuje do otwartych tagów innych niż samodzielne tagi XHTML
https://coderoad.ru/1732348/