Skip to content

其它小工具

yesAnd edited this page Sep 9, 2023 · 2 revisions

格式化请求url

有时请求的url很长,不利于我们找到目标参数,可以使用url命令进行格式化,增加请求的可读性 示例:

lwe url  http://api.demo.com/api/user/getList?platform=ios&signature=bd7e1fd4e65e8199fd817006e709fb33&currentTimeMillis=1685673384000&pageNum=1

格式化结果:

Host: api.demo.com
Path: /api/user/getList
-----------------------
pageNum                 1
platform                ios
signature               bd7e1fd4e65e8199fd817006e709fb33
currentTimeMillis       1685673384000

某些bash下请求url需要用' '引起来才能正常使用

获取Navicat连接配置中的密码

如果想从Navicat保存的连接中获取对应数据库的用户名/密码,可以使用ncx文件,ncx文件是Navicat导出的连接配置文件,但ncx中的密码是一个加密后的十六进制串,使用ncx命令可以获取对应的明文:

lwe ncx <ncx文件路径>

Navicat导出连接的步骤:file->export connections->勾选 export password选项->确定

如: 导出一个名为local-mysql的连接demo.ncx,内容是:

<!--仅节选几个重要字段作为说明展示-->
<Connections Ver="1.5">
  <Connection ConnectionName="local-mysql"  ConnType="MYSQL"  Host="127.0.0.1" Port="3306" UserName="root" Password="B75D320B6211468D63EB3B67C9E85933" />
</Connections>

使用ncx命令:

lwe ncx ./demo.ncx

输出结果:

-----------local-mysql-----------
DB type:  MYSQL
Connection host: 127.0.0.1
Connection port: 3306
Connection username: root
Connection password: This is a test

同步两个目录下文件

如果你有备份文件的习惯,这个工具可能会帮到你,它可以将源目录文件下的新增的文件同步到备份目录,省去了你逐层文件夹逐个文件去手动同步。

当然这个工具同样也可以作为对比两个文件目录下文件差异的利器

使用方式:

Usage:
lwe fsync [flags]

Examples:
lwe fsync sourceDir targetDir [-d=true]

例如,有个demo文件夹,它对应的一个备份文件夹是back_demo,一段时间后demo文件下新增了不少文件,我们想同步到back_demo下 使用命令:

lwe fsync demo back_demo  -d=true

在真正执行同步文件之前,可以使用-d=ture参数来试运行,对比两个目录下的文件差异:

结果如下:

+---------------------------------------+------+--------------------------------------------+
| SOURCE                                |  VS  | TARGET                                     |
+---------------------------------------+------+--------------------------------------------+
| /Users/yesand/Desktop/demo/dir1/a.txt | <==> | /Users/yesand/Desktop/back_demo/dir1/a.txt |
| /Users/yesand/Desktop/demo/dir2/a.txt | <==> | /Users/yesand/Desktop/back_demo/dir2/a.txt |
| /Users/yesand/Desktop/demo/dir1/b.txt | ===> |                                            |
|                                       | <=== | /Users/yesand/Desktop/back_demo/dir2/c.txt |
+---------------------------------------+------+--------------------------------------------+

确保无误后,再移除dry-run参数,进行真正的文件同步。

同步完成后,我们再次对比两个目录下的文件差异,demo目录下所有文件同步到back_demo中,注意,目录同步是单向的,back_demo目录下独有的文件并不会同步到demo中,有双向同步的需求,调换源、目的参数再执行下命令即可。

+---------------------------------------+------+--------------------------------------------+
| SOURCE                                |  VS  | TARGET                                     |
+---------------------------------------+------+--------------------------------------------+
| /Users/yesand/Desktop/demo/dir2/a.txt | <==> | /Users/yesand/Desktop/back_demo/dir2/a.txt |
| /Users/yesand/Desktop/demo/dir1/a.txt | <==> | /Users/yesand/Desktop/back_demo/dir1/a.txt |
| /Users/yesand/Desktop/demo/dir1/b.txt | <==> | /Users/yesand/Desktop/back_demo/dir1/b.txt |
|                                       | <=== | /Users/yesand/Desktop/back_demo/dir2/c.txt |
+---------------------------------------+------+--------------------------------------------+