sed と grep の c1-c2 正規表現

sed と grep の c1-c2 正規表現

私はこの表現が[c1-c2]orで使用されたときに何をするかを理解しようとしています。sedgrep

grep -E "[c1-c2]"

これは1-9とa、b、cと一致します。私が理解したのは、ASCIIテーブルの1とcの間の文字と一致する必要があります。

ベストアンサー1

[c1-c2]角かっこ表現。指定された形式では、文字「c」、「1」、および「c」(含む)と文字「2」の間の文字範囲と一致します。文字範囲はロケールによって異なります。POSIX ロケールでは、49(「1」のコード)と99(「c」のコード)の間のASCIIコードで構成される文字セットです。したがって:

$ echo : | LANG=C grep -E '[c1-c2]'
:
$ echo 0 | LANG=C grep -E '[c1-c2]'
$ echo A | LANG=C grep -E '[c1-c2]'
A

私は意図がそうであるc1と思ってc2関心の範囲を制限する単一の文字を表すので、[a-m]代わりにそのようなものを書くことになります[c1-c2]

おすすめ記事