我讀another answer展示瞭如何可以使用-F
標誌設置字段分隔符:如何在AWK中爲字段分隔符使用正則表達式?
awk -F 'INFORMATION DATA ' '{print $2}' t
現在我很好奇我怎麼能使用正則表達式的字段分隔符。我嘗試下面可以看到:
foo
bar
baz
這是因爲我的正則表達式\d+ \d+
的比賽「用空格分隔第2號,其次是:
$ echo "1 2 foo\n2 3 bar\n42 2 baz"
1 2 foo
2 3 bar
42 2 baz
$ echo "1 2 foo\n2 3 bar\n42 2 baz" | awk -F '\d+ \d+ ' '{ print $2 }'
# 3 blank lines
我期待得到下面的輸出空間」。但是我正在打印第二張唱片。如圖所示的rubular:
- 如何使用正則表達式作爲awk的字段分隔符?
我AWK我打印$ 2,第二個記錄 – mbigras
awk的道瓊斯指數不支持Perl化'\ D'元字符。你可以使用POSIX字符類'[[:digit:]]'而不是'\ d'。 https://www.gnu.org/software/gawk/manual/html_node/GNU-Regexp-Operators.html – dawg