我使用了一个名为' concatfs'
的保险丝插件它可以虚拟合并一些具有特定文件名的文件,例如
xxx-concat-.mkv
, 此文件的内容为 TEXT :
1.mkv
2.mkv
3.mkv
系统读取
xxx-concat-.mkv
,输出合并后的文件1.mkv 2.mkv ...
。但实际上文件没有合并,它是一个虚拟输出。
所以,我的问题是:
offset: 0xa 0xb 0xc 0xd
。 4个字节是人们的身份concatfs
,内容大多像:(所有二进制)1.zip
0xa 4被替换 - 4bytes-binary-content
0x1111 10被替换 - 10bytes-binary-content
1-replaced-123.zip
,fuse
会输出已替换的内容。非常感谢,对不起我的英语。
答案 0 :(得分:0)
将 merged-fuse 用于虚拟合并/替换文件(C ++ 11)
https://github.com/fly-studio/merged-fuse
示例强>
的1.txt
12345678
2.txt
abcdefghi
制作名为1-merged-.txt
的文件,
-merged-
是文件名中的特殊字词
内容是JSON格式
[
{
"path": "1.txt"
},
{
"path": "2.txt",
"replaces": [
{
"offset": 2,
"length": 2,
"content": "MjE="
}
]
}
]
当cat 1-merged-.txt
时,输出:
12345678ab12efghi
您可以看到文件已合并(虚拟),内容已被替换:
cd
已替换为12