3 个版本
0.1.2 | 2021 年 9 月 26 日 |
---|---|
0.1.1 | 2021 年 7 月 15 日 |
0.1.0 | 2021 年 6 月 26 日 |
1564 在 文件系统
1MB
3.5K SLoC
ffs:文件文件系统
ffs,文件文件系统,让您将半结构化数据挂载为文件系统——这是一个您已经知道如何操作的树状结构!
使用命令行工具处理半结构化数据很困难。像 jq 这样的工具非常有帮助,但为了进行简单的操作而学习一种新语言是一个很大的要求。通过将难以解析的树映射到文件系统,您可以继续使用您已知的工具。
示例
运行 ffs [file.blah]
将 file.blah
挂载到挂载点 file
。文件的最终、更新版本将输出到 stdout。
$ cat object.json
{ "name": "Michael Greenberg", "eyes": 2, "fingernails": 10, "human": true }
$ ffs -o object_edited.json object.json &
[1] 60182
$ tree object
object
├── eyes
├── fingernails
├── human
└── name
0 directories, 4 files
$ echo Mikey Indiana >object/name
$ echo 1 >object/nose
$ mkdir object/pockets
$ cd object/pockets/
$ echo keys >pants
$ echo pen >shirt
$ cd ..
$ cd ..
$ umount object
$
[1]+ Done ffs -o object_edited.json object.json
$ cat object_edited.json
{"eyes":2,"fingernails":10,"human":true,"name":"Mikey Indiana","nose":1,"pockets":{"pants":"keys","shirt":"pen"}}
您可以通过运行 ffs -m MOUNT file
指定显式的挂载点;您可以使用 -o OUTPUT
指定输出文件。您可以通过运行 ffs -i file
在原地编辑文件——当卷卸载时,结果输出将写回 file
。
外部依赖
您需要一个合适的 FUSE 或 macFUSE,以及 pkg-config。
有关外部依赖安装的示例,请参阅 GitHub 构建工作流程。
依赖项
~6–13MB
~141K SLoC