web-dev-qa-db-ja.com

grepを使用して、で始まる単語と終わる単語を検索します

文字で始まり文字で終わるものをgrepする方法

ABC-0
ABC-1
ABC-10
ABC-20

ABC-0とABC-1の-vをgrepしたい

12
kal

あなたが何を意味するのかは明確ではありません。最初に文字を、最後に2桁の数字が必要な場合は、次を使用できます。

^[A-Za-z].*\d\d$

ハイフンとsingle桁のみが必要な場合は、次を使用します。

^[A-Za-z].*-\d$

桁数(1桁以上)は気にしないが、ハイフンが必要な場合は、次を使用します。

^[A-Za-z].*-\d+$

それらのどれもあなたが望むものではない場合は、より多くの情報を与えてください...あなたの質問の最初の文は実際には残りの文と一致していません。

9
Jon Skeet

単語を一致させようとしている場合は、次のように\bを単語の区切り文字として使用します。

\ b [A-Za-z]-\ d +\b

から この参照

\b-単語文字(\wと一致するもの)と単語以外の文字(すべて)の間の位置で一致します[^\w]または\W)と一致し、文字列の最初または最後の文字がWord文字の場合は、文字列の最初または最後、あるいはその両方で一致します。

10
João Portela

あなたの例のために

egrep -v "^(ABC)-(0|1)$"

答えです。一般的なケースについては、ジョンの答えを見てください

^はパターンの始まりを示します。$ 終わり。 |orを意味します

4
tuergeist