分享我最新的开源项目: goargs

daqing · 2024-8-20 00:03:19 · 92 次点击
今晚肝代码,一个新的开源项目,新鲜出炉,给大家介绍一下。

首先放上代码仓库: https://github.com/daqing/goargs

这个项目是做什么的呢?

就是取代一个 Unix 命令:`xargs`

所以我的项目就叫:`goargs`,因为是用 go 写的

`goargs` 的用法,类似于 `xargs`

那么,goargs 有什么优势呢?

就是支持复杂的参数组合,举个例子:

`$ echo foo bar | goargs echo :2 :1`

这样会输出:`bar foo`

这样你可能大体理解了 `goargs` 的用法

再举一个例子:

假设当前目录有 2 个 go 文件:

```
a.go
b.go
```

那么,如何批量把这两个文件,重命名为

```
a.go.py
b.go.py
```

呢?

使用 goargs 就可以做到:

看命令:

`ls *.go | goargs mv :1 :1.py`

所以 `goargs` 的设计是非常灵活的,可以帮助你实现非常复杂的批处理场景,具体用法等你来挖掘。

感谢阅读此贴~~
举报· 92 次点击
登录 注册 站外分享
6 条回复  
kzzhr 小成 2024-8-20 01:20:17
感觉你想做的是 goawk ?
silvernoo 小成 2024-8-20 08:04:02
看上去不错,xargs 太恼人了
mritd 小成 2024-8-20 08:26:40
跑个题, 其实有很多 unix 的命令替代项目, 不过用到最后还是要回到或者说学习原始工具, 核心问题点就是大多数情况下陌生环境可能无法安装或者说默认带的就是原始工具, 着急干活时候很难有动力折腾一圈安装特定的替代方案
abersheeran 小成 2024-8-20 11:31:16
@mritd  #4 是的,所以感觉提供各个架构和平台现成的二进制文件会比较好
Imr 小成 2024-8-20 11:40:21
感觉对运维来说不是很有用,bash shell 常用命令也不用很麻烦就可以实现这些功能,到头来繁琐的下载命令反而是最大的障碍。shell 里弱势是结构化数据处理,弄个类似 jq 、yq 的工具更有价值
dhb233 小成 2024-8-20 15:19:36
给的两个例子很迷惑,参数一点也不直观。。。
返回顶部