【发布时间】:2021-08-04 11:00:10
【问题描述】:
我正在尝试使用wc 命令获取 csv 文件的行数
wc -l test.csv
但是,这个命令给了我不正确的计数,因为一列在 csv 文件中有多行。
test.csv 格式:
column1 column2 column3
hi hello hi
hello
I am busy right
now
对于上面的行,wc 给我计数 4 实际上有 2 行。如果列有多行使用wc 命令,我们可以忽略吗?我在谷歌上搜索了很多,但没有一个给我线索。
【问题讨论】:
-
文本文件没有行:它们有行。在 CSV 文件中,换行符用作记录分隔符。尽管 CSV 解析器可能允许以某种方式对换行符进行转义以使其在字段值中使用,但
wc不是 CSV 解析器,并且不知道任何此类约定。 -
wc根据记录分隔符\n计算记录。请添加cat test.csv的输出。 -
如果您只想计算第一列,请尝试
cut -d',' -f1 < test.csv | wc -l -
请不要使用图片来展示您的文字数据。您的工具的视觉表示不会告诉我们文件中的内容。我们需要知道这一点才能正确理解
wc输出。复制粘贴文本文件的内容并缩进 4 个空格。并采取the tour,也许。 -
@RenaudPacalet 完成。