【问题标题】:Manipulate csv data using bash [duplicate]使用 bash 操作 csv 数据
【发布时间】:2019-11-18 19:17:50
【问题描述】:

我有一个包含多行多列的 CSV 文件,有些行有 4 列,有些行有 5 列。我想添加到具有 4 列的那些,再添加一列,以便所有行都有 5 列。我必须添加的信息必须在第三行或最后。 CSV 文件如下所示:

name;ip;supplier;os;manufact

如何在 bash 中做到这一点?

【问题讨论】:

标签: bash csv awk sed formatting


【解决方案1】:

您可以使用read 拆分CSV,然后输出所需的列数。

cat test.csv | while read line; do
  IFS=\; read -ra COL <<< "$line"
  echo "${COL[0]};${COL[1]};${COL[2]};${COL[3]};${COL[4]};"
done

例如,test.csv 包含:

1;2;3;4
1;2;3;4;5
1;2;3;4;
1;2;3;4;5;

以上脚本输出:

1;2;3;4;;
1;2;3;4;5;
1;2;3;4;;
1;2;3;4;5;

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-05-18
    • 1970-01-01
    • 2018-05-02
    • 1970-01-01
    • 2023-03-07
    • 2019-12-25
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多