【问题标题】:add column with incrementing integer to multiple csv files将具有递增整数的列添加到多个 csv 文件
【发布时间】:2014-10-08 15:17:15
【问题描述】:

我有一个包含数千个 csv 文件的目录,每个文件有 64 列和 700 多行。我想合并以导入数据库表。

使用cat,合并文件没有问题。但是,每个文件都代表一个单独的事件,因此在查询数据库时,我希望能够仅从单个文件中提取行。

有没有办法在对每个文件进行组合之前为它们添加一个递增的整数?

例如:

log_file1

  • a、b、c、d、...
  • a、b、c、d、...
  • a、b、c、d、...

log_file2

  • a、b、c、d、...
  • a、b、c、d、...
  • a、b、c、d、...

log_file1

  • 1、a、b、c、d...
  • 1、a、b、c、d...
  • 1、a、b、c、d...

log_file2

  • 2、a、b、c、d...
  • 2、a、b、c、d...
  • 2、a、b、c、d...

谢谢

【问题讨论】:

    标签: shell csv awk cat


    【解决方案1】:

    使用 GNU awk:

    awk '{print ARGIND "," $0}' *.csv
    

    【讨论】:

      【解决方案2】:

      使用 awk,您可以编写:

      awk 'FNR==1 {count++} {print count "," $0}' *.csv
      

      当处理每个文件的第一条记录时,“count”变量会增加。

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2020-07-18
        • 1970-01-01
        • 1970-01-01
        • 2022-08-19
        • 2022-01-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多