awk - 向默认空格分隔符

时间:2015-06-21 15:26:56

标签: unix 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

如何添加&#34; =&#34;这个现有的分隔符?我尝试了以下内容,并开始考虑&#34;单&#34;空格字符作为分隔符并破坏了上述结果。

 echo "1  2"|awk -F"[ |=]" '{for (i=1;i<=NF;i++) print $i}'
    #which gives the result
    1

    2

如何在此处提供任何数量的空间作为分隔符?提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以将正则表达式指定为分隔符:

 echo "1  2"|awk -F"[ |=]+" '{for (i=1;i<=NF;i++) print $i}'

这也意味着

 echo "1  2 3==5"|awk -F"[ |=]+" '{for (i=1;i<=NF;i++) print $i}'

会打印

1
2
3
5
相关问题