什麼是做這樣的事情awk的動態字段列表打印
awk '{ print $1, $3, $5 }'
但在一個動態的方式最好?
這種情況是,只有在運行時才知道打印的最後一個字段。 所以它可能是$ 30,$ 90,$ 5,它也可能是$ 30,$ 90,$ 5,$ 7,$ 9或更
我的第一個試驗是這樣的:
awk -v MAX=7 '{for (i = 2; i < MAX; i+=2) {print i,$i} }'
,但其打印在一個領域行:中
a[2]
a[4]
a[6]
代替
a[2] a[4] a[6]
有沒有更好的方式來實現這一目標?
感謝您的所有建議。 :)
一個後續問題。 在運行時,我已經有了可用的序列,比如MyArray =(2 4 6 8) 有沒有辦法將這個數組「傳」到awk中並要求awk打印$ 2 $ 4 $ 6 $ 8? 這樣我還能再救一個for循環中的awk
你應該避免編輯的問題,他們已經回答後,特別是增加新的或不同的要求。這使得它成爲一個*不同的問題,所以只要問一個新問題。如果您覺得這很重要,請參考新問題中的原始問題。原因是:當答案與問題無關時,對於未來的讀者來說是令人困惑的。 – rici
感謝您的提示。將不會再這樣做。 – Solti