如何编写一个bash脚本来合并多个文件成一个文件

3

我正在使用Linux系统。我想要编写一个脚本来完成以下操作。

我有几个名为“Folder 1”,“Folder 2”,“Folder 3” ...... “Folder 100”的文件夹保存在test中。每个文件夹中都有一个名为file.txt的文件。如何编写一个脚本将这些文件合并在一起。我自己尝试编写了一个脚本,

for 
   file.txt in ~/test

do 
   cat $file.txt >> test.txt

done

然而,由于它位于test/Folder 1中,它显示file.txt不是有效的标识符。

我能修复代码吗?

非常感谢。


8
需要用脚本吗?否则,只需使用类似于cat test/Folder/file.txt > test.txt*的命令。 - Thomas Padron-McCarthy
嗨,Thomas,太棒了!它起作用了。这么简单的方法!谢谢你! - Alan Yu
1个回答

2
请使用如下所示的find命令。
find ~/test -name "file.txt" -exec cat {} \; >> test.txt

执行以下命令将递归地搜索/查找~/test中名为file.txt的所有内容,并对其在{}数组中找到的所有内容执行cat命令,最后将所有文件的内容输出到file.txt中。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接