【发布时间】:2016-05-25 15:28:43
【问题描述】:
我正在运行以下 awk 脚本
awk 'BEGIN { FS="|" ; OFS="|" }; { printf $0, $1 "_" $2 }' .someFile
不幸的是,字段 1 和 2 的连接打印在换行符上,看起来最后一个字段包含换行符
我怎样才能修剪它?
【问题讨论】:
-
请阅读How to Ask 并按照建议行事。
我正在运行以下 awk 脚本
awk 'BEGIN { FS="|" ; OFS="|" }; { printf $0, $1 "_" $2 }' .someFile
不幸的是,字段 1 和 2 的连接打印在换行符上,看起来最后一个字段包含换行符
我怎样才能修剪它?
【问题讨论】:
如果你想使用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
【讨论】: