【问题标题】:find and cat to merge csv filesfind 和 cat 合并 csv 文件
【发布时间】:2012-10-08 22:15:16
【问题描述】:

我在 ~/data 的子目录中有数千个文件。我希望将所有具有特定扩展名的 csv 文件合并为 .x 并将合并的文件保存到 ~/data/merged.x

我知道我需要将 find、cat 和 >> 与选项 -iname 一起使用,但我发现它很难做到。

提前致谢

【问题讨论】:

    标签: shell find cat


    【解决方案1】:
    find ~/data -name "*.x" | while read file
    do
        cat $file >> ~/data/merged.x
    done
    

    【讨论】:

      【解决方案2】:
      find ~/data -type f ! -name 'merged.x' -a -name '*.x' -exec cat {} \+ >> ~/data/merged.x
      

      【讨论】:

      • 我错过了! -name 'merged.x',它似乎永远运行;当我看到merged.x 文件超过 70GB(应该是 200MB 左右)时,我杀了它。如果没有非条件,您可能会陷入无限循环!
      【解决方案3】:
      find ./data/ -type f -name "*.c*" | xargs cat > ~/data/merged.x
      

      【讨论】:

      • 我试过这个,它似乎永远运行;当我看到merged.x 文件超过 70GB(应该是 200MB 左右)时被杀死。
      猜你喜欢
      • 1970-01-01
      • 2021-03-01
      • 2020-12-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多