linux - 将目录树中的所有文件连接到带有路径分隔符的单个文件中
问题描述
例如,我有以下结构
mydir/a/fileA.txt
mydir/b/fileB.js
mydir/fileC.js
- fileA.txt 内容:
Im file A
- fileB.txt 内容:
Im file B
- fileC.txt 内容:
Im file C
我想将mydir
目录中所有文件的内容(递归)连接到output.txt
- 在每个文件内容之前应该包含此分隔符(作为第一行)---next-file->>>:
和此文件的路径(从 mydir/.. 开始)由新行包裹。所以上面例子的期望输出应该是
---next-file->>>: mydir/a/fileA.txt
Im file A
---next-file->>>: mydir/b/fileB.js
Im file B
---next-file->>>: mydir/fileC.js
Im file C
我尝试了下面的代码,但不知道如何在每个文件路径中包含分隔符
find mydir/ -exec cat {} \; > output.txt
解决方案
对于cat
命令之间的文本插入,使用多个-exec
s。
find -type f -exec echo '---next-file->>>:' {} \; -exec echo "" \; -exec cat {} \; -exec echo "" \;
推荐阅读
- r - 连接箱线图意味着在R中的折线图上
- c# - 如何在 VSTO 中添加现有 Excel 加载项
- jquery - JSON查询表
- javascript - 如何使用html2pdf向pdf添加水平线
- python - 如果具有特定数字的除法余数为零,则打印 - Python
- ffmpeg - ffmpeg:VLC 中的发布者元数据
- azure-web-app-service - Live SDK 应用程序 - 无法完成请求?
- python - 创建包含来自另一个列表的元素的大小为“n”的随机列表
- javascript - 如何将具有特定 ID 的数据传递给后端路由参数?
- javascript - 这个闭包在哪里泄漏内存?