如何优雅地 dos2unix
| tr -d '\15' |
注:只是出来的流没有 ^M
了,并没有改动文件。
事情是这样的:美赛的时候队友跑模拟,我用 node.js 画图,需要先把以下的格式化输出
4 14 1 0 F
4 16 1 1 F
4 35 1 0 T
转换成 json 格式:
[
{"x":4,"y":14,"type":"r","progress":1,"bus":false},
{"x":4,"y":16,"type":"w","progress":1,"bus":false},
{"x":4,"y":35,"type":"r","progress":1,"bus":true},
...
]
其实用 awk
一下就出来了,倒也是没什么困难的;但是呢,发现最后一个数据项横竖转换不了,读倒是能读出来……难道是 awk
打开姿势不对?
printf "{\"x\":%d,\"y\":%d,\"type\":\"%s\",\"progress\":%d,\"bus\":%s},", x, y, type, p, (($5 == "T") ? "true" : "false");
想了一下还是不要把纠结的那部分写出来了
对!问题就是出在 $5 == "T"
和 $5 == "F"
都不成立!因为
$ xxd output | head -n 1
00000000: 3420 3134 2031 2030 2046 0d0a 3420 3136 4 14 1 0 F..4 16
md 怎么又是你 ^M
!
好吧手边没有 dos2unix
,不过总还有替代方案的= =用 tr
就行了。
P.S. 发现 d3.js 好有意思……