Jak grep coś, co zaczyna się i kończy o charakterzez grep słów rozpoczynających i kończących się
ABC-0
ABC-1
ABC-10
ABC-20
I wanto grep -v dla ABC-0 i ABC-1
Jak grep coś, co zaczyna się i kończy o charakterzez grep słów rozpoczynających i kończących się
ABC-0
ABC-1
ABC-10
ABC-20
I wanto grep -v dla ABC-0 i ABC-1
Nie jasne, co masz na myśli. Jeśli chcesz charakter na początku i na dwucyfrowym na końcu, można użyć
^[A-Za-z].*\d\d$
Jeśli chcesz tylko myślnik, a następnie pojedynczy cyfra, przeznaczenie:
^[A-Za-z].*-\d$
Jeśli nie obchodzi mnie, ile cyfr jest (jeden lub więcej), ale nie musi być myślnik, zastosowanie:
^[A-Za-z].*-\d+$
Jeśli żadna z nich to, co chcesz, proszę podać więcej informacji ... pierwsze zdanie twojego pytania nie zgadza się z resztą.
Dla przykładu
egrep -v "^(ABC)-(0|1)$"
jest odpowiedzią. W sprawie typowej, spójrz na odpowiedź Jona
^
oznacza początek wzoru, $
koniec. |
oznacza or
Jeśli próbujesz dopasować słowa użyć \b
jako ogranicznik tekstu, takich jak to:
\ b [a-zA-Z] - \ d + \ b
od this reference:
\b
- porównuje się w położeniu MIĘDZY na słowo znaków (cokolwiek dopasowane\w
) i charakter non-word (cokolwiek dopasowane[^\w]
lub\W
) oraz jak na początku i/lub na końcu łańcucha, jeśli pierwszy i/lub ostatni znaków w łańcuchu są znakami słownymi.
Chociaż można uzyskać zachowanie PCRE w niektórych wersjach grep z "grep -P", \ b jest błędne i nie zachowuje się niezawodnie; w szczególności nie wykrywa karty jako znaku ograniczającego słowo ("\ b/www \ n" zepsute w GNU grep 2.6.3). Gdyby to zadziałało, byłoby to najmodniejsze rozwiązanie (i żałuję, że to nie zadziałało!)! –
Dziękuję za te informacje. –
Nie pamiętasz kwantyfikatora dla '[A-Za-z]'. – Gumbo
A raczej, po tym zapomniałem o innych rzeczach - nie wiemy, czy A00-10 byłby do przyjęcia. Naprawiono, dzięki. –