无法在awk中从$ 0中删除换行符

时间:2017-05-07 00:56:36

标签: bash awk

我尝试使用awk解析来自dat文件的一些数据,但是我无法摆脱添加到$0的换行符。我已经尝试了gsub(/\n/,""),但它什么也没做。

以下示例:

来自dat文件:

<A>1
<B>2

运行:

awk '
BEGIN {FS = ">"; ORS=""; OFS=""}
/<A>/ {printf $2; printf$2}
' file.dat

目前给了我:

1
1

我想要的时候:

11

1 个答案:

答案 0 :(得分:2)

我想你只想要

awk -F '>' '/<A>/ { print $2 $2 }' file.dat

话虽这么说,你的代码也应该有效;问题是您的输入文件包含DOS样式换行符,可以使用例如dos2unix删除。有关更多方法,请参阅How to convert DOS/Windows newline (CRLF) to Unix newline (\n) in a Bash script?