【问题标题】:Cut columns two and three using bash [duplicate]使用 bash 剪切第二列和第三列 [重复]
【发布时间】:2021-09-11 01:48:46
【问题描述】:

我有一个包含三列的.csv 文件。我只想保留第一列。我一直在尝试使用类似于下面的命令。

cut -f 1,4 output.csv > output.txt

无论我做什么,我的输出都保持不变 - 给我所有三列。谁能给我一些见解? 谢谢!

【问题讨论】:

    标签: bash sh


    【解决方案1】:

    一次读取一行文件,删除第一个逗号的所有内容:

    while read -r line; do echo ${line%%,*}; done < output.csv > output.txt

    【讨论】:

    • 这将比使用cut 慢得多,忽略您从未告诉read 如何使用, 作为字段分隔符这一事实。
    • 只是另一种无需外部流程的方式。 read 不需要做任何分隔,参数扩展承担该任务。
    • 有时使用外部进程正是正确的选择。
    猜你喜欢
    • 2014-06-06
    • 1970-01-01
    • 2021-12-01
    • 2023-01-22
    • 1970-01-01
    • 2013-01-26
    • 2023-04-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多