bash shell下按文件夹快速合并文件

要求:很N个文件夹,每个文件夹下都是N个文本文件,要把每个文件夹下文件合并成一个文件。

如果windows下,除非使用第三方工具,否则这是个无法想像的工作。更不要说使用文本编辑工具打开、然后手工拼合了。在linux下,简单的使用命令,那是一件相当优雅的事情:如下

$ for f in `ls`; do cd $f; cat `ls` >../${f}.txt ;cd .. ; done

(注:行首的美元符$是bash命令提示符)

这条命令执行完,就把每个文件夹下的文件合并起来,文件名就是 文件夹的名字+.txt

 

评论关闭。