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 ' –
很好..再次感谢.. –