這是awk中的一個基本問題。但我在這方面遇到問題,我不知道爲什麼。問題是,當我在一個單一的線路上運行awk命令如通過分割行來運行awk
awk 'BEGIN {} {print $0;}' FILE
然後代碼被perfecctly運行
但是,如果我如
awk '
BEGIN
{
}
{
print $0;
}' FILE
線之間分割的代碼它給我錯誤地指出,BEGIN應該有一個動作部分。我想知道,因爲它是格式相同的代碼,爲什麼我得到這個錯誤。對我來說,解決這個問題非常重要,因爲我將在awk中編寫大量代碼,對於我來說,每次都很難將其格式化並將其整合到一行中。你能幫我解答一下嗎?謝謝。注意。我在shell環境中運行這個awk
如果您在BEGIN塊中不需要任何代碼,則應該將其刪除。否則......相信錯誤信息告訴你的是什麼! ;-)嘗試'awk'BEGIN {}; {print $ 0;}'FILE'來查看是否生成錯誤消息。祝你好運。 – shellter 2012-07-17 20:24:53