提问人:AK91 提问时间:7/22/2020 最后编辑:InianAK91 更新时间:7/22/2020 访问量:594
csvcut:错误:无法识别的参数:文件名 .csv
csvcut: error: unrecognized arguments: filename.csv
问:
尝试对 csv 中的列重新排序。
这有效(调用单列名称):
$ csvcut -c "Node ID" amazon_categories_nodes.csv
这有效(调用多列索引):
$ csvcut -c 4,1,3,5 amazon_categories_nodes.csv
但这不起作用(调用多个列名):
$ csvcut -c "Node ID", "Node Path" amazon_categories_nodes.csv
usage: csvcut [-h] [-d DELIMITER] [-t] [-q QUOTECHAR] [-u {0,1,2,3}] [-b]
[-p ESCAPECHAR] [-z FIELD_SIZE_LIMIT] [-e ENCODING] [-S] [-H]
[-K SKIP_LINES] [-v] [-l] [--zero] [-V] [-n] [-c COLUMNS]
[-C NOT_COLUMNS] [-x]
[FILE]
csvcut: error: unrecognized arguments: amazon_categories_nodes.csv
尝试了不同的列名组合,也尝试了 3 个或更多列名,但仍然收到上述错误消息,不知道为什么?我希望输出显示相同的 csv,但按照我指定的方式排序-c
答:
1赞
Inian
7/22/2020
#1
的标志接受逗号分隔的列名或要提取的索引范围。您提供的列名称正确,但错误地在 as 后面包含空格-c
csvcut
,
csvcut -c "Node ID", "Node Path" amazon_categories_nodes.csv
# ^^^ (incorrect)
由于 shell 在将命令行参数传递给相应的程序之前会处理命令行参数,因此它会将参数值解释为不正确,因为未终止的逗号分隔值序列。此外,它最终使该值没有任何不理解的参数标志。-c
"Node ID",
"Node Path"
csvcut
正确的解决方案是不要在两者之间留出任何空间
csvcut -c "Node ID","Node Path" amazon_categories_nodes.csv
评论