awk - 打印所有列后删除新行

时间:2016-05-25 15:28:43

标签: awk newline

我正在运行以下awk脚本

awk 'BEGIN { FS="|" ; OFS="|" };  { printf $0, $1 "_" $2  }' .someFile

unfortunatley字段1和2的连接打印在新行上,看起来像最后一个字段包含一个新行字符

我该怎么修剪它?

1 个答案:

答案 0 :(得分:0)

如果你想使用printf(这可能是偶然的),我想你可以使用它:

awk 'BEGIN { FS = OFS = "|" } { printf "%s%s%s_%s", $0, OFS, $1, $2 }' .someFile

printf应始终与格式字符串一起使用。 printf不会将输出记录分隔符添加到其打印内容的末尾,因此您必须使用格式字符串中的\n或添加%s并传递{{}来自行执行此操作。 1}}作为ORS的最后一个参数。

在这种情况下,我认为您只能使用printf

print