0
awk的默認分隔符空間對待兩個領域之間的等價空間的任何量..AWK - 增加一個新的分隔符爲默認的空間分隔
echo "1 2"|awk '{for (i=1;i<=NF;i++) print $i}'
#which gives the result (two spaces between 1 and 2)
1
2
如何添加「=」這個現有分隔符?我已經嘗試了以下內容,並開始將「單個」空格字符視爲分隔符,並破壞了上述結果。
echo "1 2"|awk -F"[ |=]" '{for (i=1;i<=NF;i++) print $i}'
#which gives the result
1
2
如何在這裏給出任意數量的空間作爲分隔符?提前致謝。
精彩!是的,我已經從其他線程讀取了有關分隔符的正則表達式,但是看起來** + **在這裏完成了這個技巧。它正在考慮多個空格,多個「=」符號(在第二個案例中非常好的例子,說明了這兩個點,BTW)。 ** + **在這裏做什麼? –
'+'用於指定正則表達式的*一個或多個匹配項*。所以它會結合多個分隔符。又如:'回聲 「1 == | = 2」 | AWK -F 「[| =] +」 '{對於(I = 1; I <= NF;我++)打印$ I}''將打印'1 ' –
很好..再次感謝.. –