在 awk 脚本中设置分隔符

在 awk 脚本中设置分隔符

我的数据由“空格”或“空格后跟新行”或“新行”分隔。我正在编写 awk 脚本来对其进行后处理。在这种情况下我该如何定义 FS?这就是我到目前为止所得到的

BEGIN {
print "This is post processed data";
RS="#";
FS="[ \n| |\n]";
}

{
print $2 $4 $6 ;
}

但这不起作用。有人可以纠正这里的语法吗?

答案1

要在正则表达式中指定替代项,您需要将列表括在括号中:( )

因此你的FS行应该是:

FS="( \n| |\n)";

定义字符类时使用括号[ ],例如所有偶数:[02468]

你几乎是对的。

相关内容