空白で囲まれている、または最初または最後から来るいくつかの文字列を一致させる方法は?
-someword
次の文を一致させる必要があります:word1 -someword word2
、、、、。 そして、次の文では一致は必要ありません。-someword word1
word1 -someword
-someword
s-someword
-somewordd
上記を正規表現grep -r [^ ]-someword[$ ]
(たとえば、-someword
前にスペースを入れるか、-someword
文を始める必要があり、-someword
後にスペースを入れる必要があるか、または-someword
文を終了する必要がある)を使用してgrepingを試みましたが、何も見つかりませんでした。
ベストアンサー1
努力する:
grep -w -e -someword
からman grep
:
-w, --word 正規表現
Select only those lines containing matches that form whole words. The test is that the matching substring must either be at the beginning of the line, or preceded by a non-word constituent character. Similarly, it must be either at the end of the line or followed by a non-word constituent character. Word-constituent characters are letters, digits, and the underscore. This option has no effect if -x is also
-someword
スペース以外に英数字以外の文字(または)などで囲まれている場合#
も一致します,
。囲まれていることを確認したい場合ただスペースまたは行の開始/終了を使用して、次のものを使用できます。
egrep '(^|[[:space:]])-someword([[:space:]]|$)'
# Which is equivalent to:
grep -E '(^|[[:space:]])-someword([[:space:]]|$)'
# Or without extended regex:
grep '\(^\|[[:space:]]\)-someword\([[:space:]]\|$\)'