【问题标题】:awk - remove new line after printing all columnsawk - 打印所有列后删除新行
【发布时间】:2016-05-25 15:28:43
【问题描述】:

我正在运行以下 awk 脚本

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

不幸的是,字段 1 和 2 的连接打印在换行符上,看起来最后一个字段包含换行符

我怎样才能修剪它?

【问题讨论】:

标签: awk newline


【解决方案1】:

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

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

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

在这种情况下,我认为你可以使用print

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

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2011-02-27
    • 2018-08-30
    • 2014-03-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2018-12-31
    相关资源
    最近更新 更多