Come grep qualcosa che inizia e finisce con un caratteredi ricerca con grep per le parole che iniziano e terminano con
ABC-0
ABC-1
ABC-10
ABC-20
mi vuoi anche grep -v per ABC-0 e ABC-1
Come grep qualcosa che inizia e finisce con un caratteredi ricerca con grep per le parole che iniziano e terminano con
ABC-0
ABC-1
ABC-10
ABC-20
mi vuoi anche grep -v per ABC-0 e ABC-1
Non è chiaro cosa intendi. Se si desidera un personaggio all'inizio e alla doppia cifra alla fine, si potrebbe usare
^[A-Za-z].*\d\d$
Se si desidera solo un trattino e poi un singolo cifre, uso:
^[A-Za-z].*-\d$
Se non importa quante cifre ci sono (uno o più), ma ci deve essere un trattino, uso:
^[A-Za-z].*-\d+$
Se nessuno di questi sono ciò che si vuole, si prega di fornire ulteriori informazioni ... la prima frase della tua domanda non coincide con il resto.
Per esempio
egrep -v "^(ABC)-(0|1)$"
è la risposta. Per il caso comune, per favore guarda la risposta di Jon
^
segna l'inizio del modello, $
alla fine. |
significa or
Se si sta cercando di abbinare parole usare \b
come la parola delimitatore, come questo:
\ b [A-Za-z] - \ d + \ b
da this reference:
\b
- Corrisponde alla posizione betwee carattere di parola na (niente di pari passo con\w
) e un carattere non-parola (niente di pari passo con[^\w]
o\W
) così come all'inizio e/o alla fine della stringa Se il primo e/o ultimi caratteri della stringa sono caratteri di parole.
Mentre è possibile ottenere il comportamento PCRE in alcune versioni di grep con "grep -P", \ b è bacato e non si comporta in modo affidabile; in particolare, non rileva la tabulazione come un carattere di limite di parola ('\ b/www \ n' spezzato in GNU grep 2.6.3). Se questo avesse funzionato, sarebbe stata la risposta più pulita (e vorrei che funzionasse!)! –
Grazie per questa informazione. –
Hai dimenticato il quantificatore per '[A-Za-z]'. – Gumbo
O meglio, ho dimenticato altre cose dopo di esso - non sappiamo se A00-10 sarebbe accettabile. Risolto però, grazie. –