【问题标题】:Concat csv files and strip the header连接 csv 文件并去除标题
【发布时间】:2015-02-18 17:47:25
【问题描述】:

我有 n 个需要连接的 csv 文件。问题是我需要从每个文件中删除头文件。

我尝试过使用这些 tail -n +2 $INPUT_FILE_PATH/$FILE > $NEW_INPUT_FILE_PATH

***这会将文件名和路径放入新文件中

==> /文件路径/filename1.csv

A, B, C, D 
E, F, G, H

==> /文件路径/filename2.csv

I, J, K, L 
M, N, O, P

我试过了

sed 1d $INPUT_FILE_PATH/$FILE > $NEW_INPUT_FILE_PATH

***只从第一个文件中删除标题。

A, B, C, D,
E, F, G, H

标头1、标头2、标头3、标头4

I, J, K, L
M, N, O, P

我怎样才能得到结果

A, B, C, D,
E, F, G, H
I, J, K, L
M, N, O, P

【问题讨论】:

    标签: unix csv sed concat tail


    【解决方案1】:

    您可以为此使用findsed

     find /path/to/files -name '*.csv' -exec sed '1d' {} \;
    

    【讨论】:

    • 我在上面使用过,但它不会从第二个文件中删除标题,只有第一个。
    • 哦,是的,我的错!改了答案
    • 那一个在同一行给出 EFGH 和 IJKL
    • 刚刚更新。 :) 我需要在它们之间换行。它在 H 和 I 之间加了一个逗号
    • 尝试添加-maxdepth 1,结果相同
    【解决方案2】:
    awk 'FNR>1' file1 file2 ...
    

    【讨论】:

      猜你喜欢
      • 2014-10-15
      • 2018-01-10
      • 1970-01-01
      • 1970-01-01
      • 2013-05-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-01-30
      相关资源
      最近更新 更多