両側にコロンを使用して1〜50文字(理想的には任意の長さで可能)の英数字文字列をgrepする方法 - 一般的な結果は、その文字列を含むすべての行です:shopping:
。これまでに以下のコードがありますが(いくつかのバリエーションを試しました)、うまくいきません。
grep ':[[:alnum:]]{1,100}:' ~/x.txt
答え1
これを行うには、拡張正規表現を有効にする必要があります。
grep -E ':[[:alnum:]]+:' ~/x.txt
答え2
デフォルトの正規表現を使用すると、次のように書くことができます。
grep ':[[:alnum:]]\{1,100\}:' ~/x.txt
(\{
またはの逆)は標準的で移植可能であり、実際におよび対応するBREは通常およびで書かれています。ただし、これは標準的で移植可能であるため、この場合は正規表現をより読みやすくすることができるので、これを使用することをお勧めします。\+
\?
+
?
\{
\{1,\}
\{0,1\}
grep -E
答え3
拡張正規表現を使用しているため、-Eオプションを使用する必要があります。
grep -E ':[[:alnum:]]{1,100}:' ~/x.txt
答え4
誰も言及していないので、使用することができますegrep
。これはと同じであると理解していますgrep -E
。
egrep ':[[:alnum:]]{1,100}:' ~/x.txt