我有一个超过10,000 .csv
个文件的文件夹,我想将它们合并到一个主文件中。它们都以相同的方式分类(列A B C D E F在每个文件中是相同的)。我更喜欢在shell脚本中执行此操作。
我试过
cat *.csv > Everything.csv
并返回参数太长
我也试过
copy *.csv > Everything.csv
并返回相同的错误。
如何将大约10,000个文件合并到一个主文件中?
答案 0 :(得分:1)
此问题讨论了您所看到的错误:Argument list too long error for rm, cp, mv commands
一种可能的解决方案是:
find . -name "*.csv" -exec cat '{}' >> ./Everything.csv ';'
答案 1 :(得分:0)
我用它完成了:
cat *.csv >> /tmp/master_file_name.csv
单曲'>'将重写该文件,而不是追加它,
答案 2 :(得分:0)
您可以使用简单的for循环:
for file in `ls`; do
cat $file >> master_file
done
答案 3 :(得分:0)
find . -name "*.csv" | xargs -I{} cat '{}' > Everything.csv
(编辑)啊,好吧,击败拳头......