文字で始まり文字で終わるものをgrepする方法
ABC-0
ABC-1
ABC-10
ABC-20
ABC-0とABC-1の-vをgrepしたい
あなたが何を意味するのかは明確ではありません。最初に文字を、最後に2桁の数字が必要な場合は、次を使用できます。
^[A-Za-z].*\d\d$
ハイフンとsingle桁のみが必要な場合は、次を使用します。
^[A-Za-z].*-\d$
桁数(1桁以上)は気にしないが、ハイフンが必要な場合は、次を使用します。
^[A-Za-z].*-\d+$
それらのどれもあなたが望むものではない場合は、より多くの情報を与えてください...あなたの質問の最初の文は実際には残りの文と一致していません。
単語を一致させようとしている場合は、次のように\b
を単語の区切り文字として使用します。
\ b [A-Za-z]-\ d +\b
から この参照 :
\b
-単語文字(\w
と一致するもの)と単語以外の文字(すべて)の間の位置で一致します[^\w]
または\W
)と一致し、文字列の最初または最後の文字がWord文字の場合は、文字列の最初または最後、あるいはその両方で一致します。
あなたの例のために
egrep -v "^(ABC)-(0|1)$"
答えです。一般的なケースについては、ジョンの答えを見てください
^
はパターンの始まりを示します。$
終わり。 |
はor
を意味します