Windows 7 文本格式差异

Windows 7 文本格式差异,windows-7,awk,windows-xp,cygwin,Windows 7,Awk,Windows Xp,Cygwin,我在Cygwin中得到了两个不同的结果。在XP中,列(正确的输出)和Win7都在一条长线上 awk '{$0=sprintf("%.1f%.1f%4s", $1,$2,$3);gsub(/ /,"0");gsub(/\./,"")}1' /cygdrive/e/$1.txt > /cygdrive/e/$1.bod 谢谢 输入:(35030035.txt) XP输出:(35030035.bod)这是正确的输出 Win7输出:(35030035.bod) 看起来线路终结者搞砸了。在spri

我在Cygwin中得到了两个不同的结果。在XP中,列(正确的输出)和Win7都在一条长线上

awk '{$0=sprintf("%.1f%.1f%4s", $1,$2,$3);gsub(/ /,"0");gsub(/\./,"")}1' /cygdrive/e/$1.txt > /cygdrive/e/$1.bod
谢谢

输入:(35030035.txt)

XP输出:(35030035.bod)这是正确的输出

Win7输出:(35030035.bod)


看起来线路终结者搞砸了。在
sprintf
函数中尝试显式
\n

sprintf(“%.1f%.1f%4s\n”,$1,$2,$3)

或者代替
1
执行
打印$0

awk {$0=sprintf("%.1f%.1f%4s", $1,$2,$3);gsub(/ /,"0");gsub(/\./,"");print $0}'
或者使用
awk
RS
变量设置新行

47240015
47340775
35300053
40330071
32300346
4724001547340775353000534033007132300346
awk {$0=sprintf("%.1f%.1f%4s", $1,$2,$3);gsub(/ /,"0");gsub(/\./,"");print $0}'