【发布时间】:2020-02-16 03:24:54
【问题描述】:
我有一个包含逗号分隔值的文本文件。 示例文件格式:
cat abc.txt
A,B,C,D
cat xyz.txt
A,"1,2,3",C,D
我想从这些以逗号分隔的文件中删除第二列。
当我使用 cut 命令时,我得到以下输出:
cut -d',' -f2 abc.txt
B
这是正确且预期的输出
cut -d',' -f2 xyz.txt
"1
这是不正确的。预期输出为"1,2,3" 或1,2,3
有没有办法我们可以使用“”作为文本限定符从 xyz.txt 中删除第二列。那么“”中的逗号会被跳过吗?
【问题讨论】:
-
cut命令不支持字段可以嵌入逗号的重要 CSV 格式。您需要使用不同的工具,例如 Python 将是一个不错的选择。此外,在您的问题的上下文中,将bash 与ksh 与powershell 一起包含是没有意义的
标签: linux bash powershell unix ksh