如何将.csv文件转换为.txt格式

时间:2020-04-29 00:49:49

标签: bash csv unix

Excel中的

csv文件并将其另存为.txt,当我使用 wc -l .txt格式的17768比17769少一行。 1.这是否正常?如果这样,转换中丢失了哪一行? 2.在bash中进行此转换的最简单方法是什么? 谢谢!

1 个答案:

答案 0 :(得分:1)

wc -l对基于行分隔符(\n)的记录进行计数很可能您的最后一条记录没有行分隔符。

例如,echo命令在末尾添加了新行,而printf则没有。

演示:

$echo -e "1\n2" | wc -l
2
$printf "1\n2" |  wc -l
1
$
$echo -e "1\n2" | od -c
0000000   1  \n   2  \n
0000004
$printf "1\n2" |  od -c
0000000   1  \n   2
0000003
$

printf和echo都打印2条记录。但由于我们在字符串\n的末尾没有行定界符(wc)仅显示1条记录

$echo -e "1\n2"
1
2
$printf "1\n2"
1
2$