awkコマンドの[-0-9]と[-0-9]モードの違い

awkコマンドの[-0-9]と[-0-9]モードの違い

次のコマンドの違いは何ですか?

awk '/[-0-9]/ {print $0}' data_file

そして:

awk '/[-0-9 ]/ {print $0}' data_file

2番目のコマンドのパターン[-0-9]は、1番目のコマンドと1行ずつ異なります。

[...]2番目のコマンドでスペースが何をしているかを説明できますか?

答え1

これは、パターンが入力文字列のすべての空白文字と一致できることを示しています。

$ echo " " | awk '/[-0-9]/ {print "match"}'
$ echo " " | awk '/[-0-9 ]/ {print "match"}'
match

関連情報