1から50文字の英数字の文字列(理想的には、任意の長さでも機能します)の両側にコロンを付けてgrepします。通常の結果は、文字列:shopping:
を含むすべての行です。これまでのところ、動作しない以下のコードを取得しています(いくつかのバリエーションを試しました)。
grep ':[[:alnum:]]{1,100}:' ~/x.txt
これには、拡張正規表現を有効にする必要があります。
grep -E ':[[:alnum:]]+:' ~/x.txt
基本的な正規表現を使用すると、次のように記述できます。
grep ':[[:alnum:]]\{1,100\}:' ~/x.txt
\{
(たとえば、\+
または\?
とは対照的に)は標準で移植可能であり、実際には+
および?
のBRE相当物が通常書き込まれます。 \{
:\{1,\}
および\{0,1\}
。 grep -E
も標準的で移植性があるため、このような場合に読みやすい正規表現を作成するために使用することもできます。
拡張正規表現を使用していますが、-Eオプションを使用する必要がありますか?
grep -E ':[[:alnum:]]{1,100}:' ~/x.txt
誰もそれについて言及していないので、egrep
も使用できます。これは、私が理解しているように、grep -E
と同等です。
egrep ':[[:alnum:]]{1,100}:' ~/x.txt