在bash中构造csv文件时,没有检测到文件中的新行



我正在制作一个csv构造函数,但我遇到了一些问题。

我有这样的文件characteristics.tmp

1083108343
1083108360
1083108378
1083108386

我必须按照以下格式构建:Name, "1083108343 ,1083108360 , 1083108378,1083108386"
我试过这个

cat characteristics.tmp| paste -s -d, -

我也试过tr 'n' ','

但是输出就像只有一个元素一样。我用xxd检查文件,字符0d0a应该在每行的末尾?那么,为什么不检测其他人呢?

,1083108386

Cyrus兄弟,非常感谢。我有可能对有用的解决方案

该文件的所有结束行中都有0d0a,这与windows的工作方式类似。这就是为什么当我把这个0d0a传给xxd时,出现了,bash只在新行中使用0a,所以我把文件传给dos2unix,正如你所说,结果文件只使用了0a,这是unix工作的新行。

之前

xxd文件.tmp

00000000: 3130 3633 3234 3234 3432 **0d0a** 1063242442..

dos2unix 之后

00000000: 3130 3633 3234 3234 3432 **0a** 1063242442.

最后,像xargs、tr、paste这样的所有命令都能正常工作。

感谢所有人:D

最新更新