Bash - 在分开的子文件夹中合并文件

因此,我正在寻找一种方法来将多个子文件夹中的.html文件保存在自己的位置。Bash - 在分开的子文件夹中合并文件

实际情况:

$ Folder1 

.

├── Subfolder1

│ └── File1.html

└── File2.html

├── Subfolder2

│ └── File1.html

└── File2.html

期望的结果:

$ Folder1 

.

├── Subfolder1

│ └── Mergedfile1.html

└── File1.html

└── File2.html

├── Subfolder2

│ └── Mergedfile2.html

└── File1.html

└── File2.html

到目前为止,我想出了这个:

find . -type f -name *.html -exec cat {} + > Mergedfile.html 

但这种结合了所有的所有文件Folder1子文件夹,而我想让他们分开。

非常感谢!

回答:

像由AK_说,你可以用找到的exec。

find Folder1/ -mindepth 1 -maxdepth 1 -type d -exec sh -c "rep='{}';cat "'"$rep"'"/*.html > "'"$rep"'"/Mergedfile.html" \; 

回答:

您可以循环在具有for声明所有子文件夹:

for i in Folder1/SubFolder*; do 

cat "$i"/File*.html > MergeFile$(echo "$i" | sed 's,.*\([0-9]\+\)$,\1,').html

done

以上是 Bash - 在分开的子文件夹中合并文件 的全部内容, 来源链接: utcz.com/qa/262063.html

回到顶部