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