微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

没有检测文件中的新行以在 bash 中构建 csv 文件

如何解决没有检测文件中的新行以在 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

解决方法

赛勒斯兄弟非常感谢你。我的解决方案可能对某人有用

该文件在所有结束行中都有 0d0a,就像 windows 工作一样。这就是为什么当我传递给 xxd 时,这个 0d0a 出现并且 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

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。