write rules for ai.
This commit is contained in:
67
README.md
67
README.md
@@ -1,3 +1,68 @@
|
||||
# l-s
|
||||
|
||||
summary all files to `meta.json`.
|
||||
Summary any file‘s meta.
|
||||
|
||||
## 使用说明
|
||||
|
||||
接收1个命令行参数,为文件/文件夹路径,如命令行参数为空,则默认为当前路径。
|
||||
|
||||
元数据均以json格式保存,且经过pretty打印,以方便人类阅读。
|
||||
|
||||
对于输入参数是文件的情况:
|
||||
|
||||
文件的元数据命名与原文件相同,仅新增json拓展名。
|
||||
|
||||
文件的元数据保存路径是其所在路径下的meta子文件夹,如果元数据保存路径不存在,则新建。
|
||||
|
||||
如果文件的元数据不存在,则计算元数据并保存。
|
||||
|
||||
如果文件的元数据存在,则对元数据中的xxh128部分进行校验。
|
||||
|
||||
如果校验通过,则打印校验成功。
|
||||
|
||||
如果校验不通过,计算当前的元数据并打印到标准输出,保留原元数据文件不动。
|
||||
|
||||
对于输入参数是文件夹的情况:
|
||||
|
||||
遍历这个文件夹,以字母序遍历遇到的每一个子文件夹和文件。
|
||||
|
||||
文件夹的元数据文件就保存在其中,命名为`meta.json`。
|
||||
|
||||
如果文件夹的元数据不存在,则遍历计算并保存。
|
||||
|
||||
如果文件夹的元数据存在,则对原元数据文件重命名为`meta-old.json`,并对其中所有文件的xxh128部分校验。
|
||||
|
||||
遍历如果发现有新增文件或删除文件,都应打印到标准输出提示用户。
|
||||
|
||||
如果全部校验一致,则重新命名回`meta.json`。
|
||||
|
||||
标准`meta.json`的格式如下:
|
||||
|
||||
```json
|
||||
{
|
||||
"dir_name": "test",
|
||||
"dirs": [
|
||||
{
|
||||
"dir_name": "j",
|
||||
"dirs": [],
|
||||
"files": [
|
||||
{
|
||||
"basename": "CW-NAS-J6-230729.iso",
|
||||
"size": 20000768,
|
||||
"friendly_size": "19.07MB",
|
||||
"mtime": 1763445083,
|
||||
"head_115": "0F62212861F9AB6213A793AA74B33C8856AA9D45",
|
||||
"head_baidu": "FE3C25567C3681EEAA1EAAE7804460CF",
|
||||
"ed2k": "D3F1330B892884240142296E0A670EE4",
|
||||
"md5": "AB14F900F1ABBF6A723EB8F7D6DDABC1",
|
||||
"sha1": "B1D31D15A866EE0C3DCC9972FB92EE6FA2BE4D4A",
|
||||
"sha256": "E217F816094C5EE4CF366E6F168851C13B27D8CC9C42F392B637CAD1C20A8510",
|
||||
"xxh128": "F4A47B42150480BE1193EA7DA0DFD083"
|
||||
}
|
||||
]
|
||||
}
|
||||
],
|
||||
"files": [],
|
||||
"v": "2022-10-24"
|
||||
}
|
||||
```
|
||||
|
||||
Reference in New Issue
Block a user