# pz7z8 **Repository Path**: chenc224/pz7z8 ## Basic Information - **Project Name**: pz7z8 - **Description**: python写的一些杂七杂八的小工具。使用pip install pz7z8安装。在linux平台下编码,不是太适用windows平台。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2023-11-26 - **Last Updated**: 2026-01-11 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 前言 pz7z8是用python写的一些杂七杂八的小脚本。使用`pip install pz7z8`即可安装使用。 如果记不清楚这个包里有哪些东西,都叫什么名字,大约有什么功能,可以在安装后直接执行pz7z8察看帮助。可以根据提示找到这份文档。 # 各脚本说明 ## chgver 修改版本号 当前处理流程如下: * 执行 ./setup.py sdist * 打开setup.py文件读 * 复制setup.py为setup.py.bak * 搜索 version=x.y.z 这样的行,其中x,y,z都是数字 * 设置z=z+1,修改setup.py * 执行twine upload dist/*x.y.z.tar.gz ## dfslow 找出速度比较慢的挂载盘 无参数。 读取/etc/mtab文件,逐一用df检查每一条,如果时间超过1秒,显示慢的这一行相关信息。 如果正常,则没有任何显示。 ## dsync 双向的文件同步工具 执行时可以带一个参数指定配置文件,如果不指定,则使用当前目录下的dsync.conf 配置文件样例如下: ``` d1=/目录1 d2=/目录2 c1=gbk c2=utf8 sp=| f=文件1 f=文件2 f=文件3 f=文件4在目录1中名称|文件4在目录2中名称 ``` 以上配置内容不要为了美观等因素增加空格,会影响解析出的内容。 执行时会在d1,d2两个目录下依次检查文件,如果有不一样(md5值不等、只有一个目录有等)则复制日期新的到日期旧的目录。如果md5值不等但是文件修改时间相等则报警。 注意d1,d2在配置文件中可以有多行,后续检查以最后的d1,d2为准。 c1,c2设置编码,比如上面这个设置,就可以一个目录下放gbk的编码文件,另一个目录下放utf8的文件,比较的时候会考虑这个编码的因素,转换了之后进行比较。同步的时候也会做相应转换。c1,c2可以省略,省略的时候当utf8处理。如果2个都省略,则直接拷贝,不做转码。 sp是分隔符,不设置则默认为|。如果需要同步的文件在两个目录中文件名不同,则使用分隔符把两个文件名分开。同样要注意在文件名两边、分隔符两边不要留空格,除非文件名本身包含空格。 ## filenum 统计目录下的文件数量 执行时可以带一个参数指定目录,如果不指定则使用当前目录。 递归统计此目录下的所有文件数量并输出。 注意输出顺序是按照搜索的顺序,看着会有些乱。可以使用以下语句进行排序并输出哪些目录下文件数量较多。 `filenum 目录 |sort -g|tail` ## finfo 记录文件(目录)的信息 `finfo 目录名 md文件名` 忽略目录名则使用当前目录。 忽略markdown文件名则使用目标目录下的finfo.md文件。 ## md2pdf 把markdown文件编译成pdf 执行时带参数指定要转换的markdown文件名,可以指定多个 脚本会调用pandoc和xelatex把文件转为pdf,所以要安装好pandoc和xelate 为调整输出格式,使用了两个模板文件,一个是yaml的,一个是tex的。可以使用系统带的模板文件,也可以使用自定义的模板文件。要转换/data/abc.md时,模板文件使用顺序如下:(以tex举例,yaml顺序相同) * /data/abc.md.tex * /data/md2pdf.tex * 软件包自带的md2pdf.tex,目录在md2pdf执行时会显示 模板文件如何修改请参考pandoc的相关文档。 yaml模板中可以有{filename}这样的替换,用来处理一些高级功能,如toc-title: {filename}指定标题显示文件名,目前支持的替换有: * filename:文件名(不包含路径,不包含扩展名) * createtime:生成pdf的时间,如2025-08-02 15:14:02 * createdate:生成pdf日期,如2025-08-02 ## pz7z8 给出这个包的一些简单介绍 比如这个包有哪些内容 ## smod 根据模板调整源代码 * 扫描 模板目录(默认是当前目录)下的模板文件 *.htm *.html * 扫描 目标目录 (默认是web/static) 下的目标文件 *.htm *.html * 如果目标文件中有 `` 或者是 `` 这样的行,则认为是需要用相应模板中的内容替换 * 替换后如果内容有变化,则更新文件,如果没有变化,则不更新文件 用来批量替换文件里的一些固定内容,比如引用的模块 ## sshall 使用ssh跳转到预先设置好的目标机器 读入当前用户目录下的.sshall.json文件,这个文件基本格式如下: ``` [ { "info": "服务器说明,会在右边显示,供选择服务器用", "name": "服务器名称,会显示在标题处", "class": "填写服务器的分类,会在左边显示所有的分类,选中分类后在右边显示这个分类中的所有服务器", "host": "服务器地址,可以使用域名,也可以直接使用ip地址", "port": "端口,一般设置为22" }, ] ``` 可以把自己要连接的ssh机器登记在这个配置文件里,执行sshall就可以分类显示这些机器,按动分类左边的数字快捷键可以切换分类,按动机器左边的字母快捷键可以跳转到相应的机器。