awk-打印所有列后删除新行
我正在运行以下awk脚本awk-打印所有列后删除新行,awk,newline,Awk,Newline,我正在运行以下awk脚本 awk 'BEGIN { FS="|" ; OFS="|" }; { printf $0, $1 "_" $2 }' .someFile 不幸的是,字段1和2的concatention打印在新行上,看起来最后一个字段包含新行字符 我怎样修剪它 如果您想使用printf(这可能是偶然的),我想您可以使用: awk 'BEGIN { FS = OFS = "|" } { printf "%s%s%s_%s", $0, OFS, $1, $2 }' .someFile
awk 'BEGIN { FS="|" ; OFS="|" }; { printf $0, $1 "_" $2 }' .someFile
不幸的是,字段1和2的concatention打印在新行上,看起来最后一个字段包含新行字符
我怎样修剪它 如果您想使用
printf
(这可能是偶然的),我想您可以使用:
awk 'BEGIN { FS = OFS = "|" } { printf "%s%s%s_%s", $0, OFS, $1, $2 }' .someFile
printf
应始终与格式字符串一起使用printf
不会将输出记录分隔符添加到打印内容的末尾,因此您必须自己使用格式字符串中的\n
或添加%s
并将or
作为最后一个参数传递到printf
在这种情况下,我认为您可以只使用print
:
awk 'BEGIN { FS = OFS = "|" } { print $0, $1 "_" $2 }' .someFile
请阅读并按照它的建议去做。