在日常使用电脑的过程中,总有一些关于文件 /文件夹的操作是有规律、有重复性的,比如:
一般可能会用 shell 、Python, 或者用专门的 GUI 程序来处理这些问题。但 GUI 程序的可定制性通常不高,每次使用都需要多次点击,或者每个 GUI 程序都有局限性,不如脚本一个命令解决问题那么清爽、那么灵活。而 shell 、Python 又有要么每次重新写,要么需要管理一堆散乱的脚本文件、要对每个命令起名等一些繁琐的地方。
并且脚本代码如果越写越长的时候,可维护性就会显著变差,因此,我做了一个用 Go 语言来写 extension 进行自由定制的文件 /文件夹处理器: gof
gof 本身并不包含任何解决实际问题的代码,比如对文件进行改名、复制、移动等操作都不包含,这些都由插件 /扩展(在 gof 里称为 recipe )来实现,需要什么功能,就自己写一个 recipe 。
gof 本身的作用是:
-dump
功能。
用来预览即将执行的任务计划,而不实际执行,特别是刚开始对命令不太熟悉的时候,该功能非常实用,可以通过预览任务计划提早发现问题,确认没问题后再去掉 -dump
实际执行。其中 CLI 与 YAML 的配合效果很不错,YAML 很直观,容易编辑,比纯 CLI 更直观,又比 GUI 更容易开发。
当然,如果你不喜欢或不熟悉 Go 语言,完全可以用其他语言来重写一个类似的程序,因为 gof 本身的功能不多,代码量很少,我全新写的用了两天(有效时间大概 8 个小时),在有参考的情况下用另一种语言改写,半天绝对足够了。
https://github.com/ahui2016/gof
(国内镜像 https://gitee.com/ipelago/gof )
1
rekulas 2021-12-01 16:20:04 +08:00
想法很好,但灵活性感觉不够,如果某个插件例如 swap 逻辑要调整,那不但要改插件也要改 yaml
所以我还是选 shell 😁 |