在 shell 中将 .txt 转换为 .csv

新手上路,请多包涵

我有一个文本文件:

 ifile.txt
1  4    22.0  3.3 2.3
2  2    34.1  5.4 2.3
3  2    33.0 34.0 2.3
4 12     3.0 43.0 4.4

我想将其转换为 csv 文件:

 ofile.txt
ID,No,A,B,C
1,4,22.0,3.3,2.3
2,2,34.1,5.4,2.3
3,2,33.0,34.0,2.3
4,12,3.0,43.0,4.4

我正在尝试这个,但没有得到结果。

 (echo "ID,No,A,B,C" ; cat ifile.txt) | sed 's/<space>/<comma>/g' > ofile.csv

原文由 Kay 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 1.3k
2 个回答

awk 在这里可能有点矫枉过正。恕我直言,使用 tr 进行这样的直接替换要简单得多:

 $ cat ifile.txt | tr -s '[:blank:]' ',' > ofile.txt

原文由 Mureinik 发布,翻译遵循 CC BY-SA 3.0 许可协议

只有 sed,没有别的

sed 's/ \+/,/g' ifile.txt > ofile.csv

猫档案.csv

 1,4,22.0,3.3,2.3
2,2,34.1,5.4,2.3
3,2,33.0,34.0,2.3
4,12,3.0,43.0,4.4

原文由 sumitya 发布,翻译遵循 CC BY-SA 3.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题