Linux 如何在1个csv中组合所有递归csv文件
我有一个长长的目录,里面有152000个CSV文件Linux 如何在1个csv中组合所有递归csv文件,linux,bash,grep,Linux,Bash,Grep,我有一个长长的目录,里面有152000个CSV文件 find . -name "*.csv. | wc -l" 152000 通过这个,我得到了listfind-名称“*.csv” 大多数文件都有相同的名称,比如zoo或woo 我试图添加1目录中的所有文件,然后运行命令 cat `ls -v | grep .csv` > final.csv 所以我很喜欢 mv ./2015-09/woo.csv ../2015/ mv ./2015-01/woo.csv ../2015/ mv
find . -name "*.csv. | wc -l"
152000
通过这个,我得到了listfind-名称“*.csv”
大多数文件都有相同的名称,比如zoo或woo
我试图添加1目录中的所有文件,然后运行命令
cat `ls -v | grep .csv` > final.csv
所以我很喜欢
mv ./2015-09/woo.csv ../2015/
mv ./2015-01/woo.csv ../2015/
mv ./2015-02/zoo.csv ../2015/
.
.
.
.
and so on
但它将旧的woo.csv替换为。new woo.csv
任何方式我都可以添加1个文件,比如final.csv
或
任何可能的方式,我都可以将所有文件添加到一个目录中,这样新的woo.csv就不会替换旧的woo.csv您可以使用
find
命令:
find . -name "*.csv" -exec cat {} + > /tmp/final.csv
你好我恳请你更加努力把你的问题弄清楚。有很多小错误,加在一起,只会让我们的生活更艰难。例如,
find-名称“*.csv.|wc-l”
,“zoo or woo”,看起来你很匆忙地键入了它,然后把它扔给了我们。我用谷歌搜索了一下。。。无法获取-exec cat{}
的含义,I.运行此命令。正在进行中。。。你能帮我了解一下它的功能吗?-exec cat{}
-exec
是find
中运行给定命令的一个选项{}
是find
命令找到的每个条目的占位符,+
是允许一次处理多个文件的命令终止符。您是否使用此命令获得了预期的输出?逻辑上有问题。。它不会停止。。文件大小在过去几个小时内一直在增加…请确保final.csv位于运行find的目录之外
find . -name "*.csv" -exec cat {} + > /tmp/final.csv