中括弧を使用して固定桁数を一致させようとしていますawk
が、結果が得られません。
# This outputs nothing
echo "123" | awk '/^[0-9]{3}$/ {print $1;}'
# This outputs 123
echo "123" | awk '/^[0-9]+$/ {print $1;}'
中括弧を使用するために何か特別なことをする必要がありますか?
Mac OS X awk
(BSD awk
)は、次の最初のコマンドで動作します。
$ echo "123" | /usr/bin/awk '/^[0-9]{3}$/ {print $1;}'
123
$
GNUはしませんawk
。バックスラッシュを追加してもGNUは役に立ちませんawk
。オプションを使用すると、使用--re-interval
も同様になります--posix
。
$ echo "123" | /usr/gnu/bin/awk --re-interval '/^[0-9]{3}$/ {print $1;}'
123
$ echo "123" | /usr/gnu/bin/awk --posix '/^[0-9]{3}$/ {print $1;}'
123
$
mawk
( 1996年の1.3.3がどこから来たのかはわかりませんが、おそらくawk
あなたのマシン用に更新されたバージョンを入手する時が来たでしょう。)