繁体   English   中英

如何在命令外壳中对输出进行分组

[英]How to group output in command shell

当我在linux终端中运行git tag命令时,我得到的输出为

bssg-v1.0-alpha.0.1
bssg-v1.0-alpha.0.2
bssg-v1.0-alpha.0.3
bssg-v1.0-alpha.0.4
dummy
opal-0.5
opal-0.6
pisn_final
pisn_v1.2
pisn_v1.2.1
pisn_v1.2.2
pisn_v1.3
pisn_v1.3.1
pisn_v1.3.2
pisn_v1.3.3
pisn_v1.3.4
ralp_0.1
ralp_0.2
ralp_0.3
ralp_0.4
ralp_0.4.1
ralp_0.4.2
salp-v0.1-alpha.0.1
salp-v0.1-alpha.0.2
salp-v0.1-alpha.0.3
salp-v0.1-alpha.0.4
tms-1a-0.3
tms-1a-0.4

我想要的是这种输出...

bssg
dummy
opal
pisn
ralp
salp
tms

即在运行git tag我应该只在任何'-'或'_'之前获得字符,并且也只能获得一次。 我怎样才能做到这一点.. ???

git tag本身似乎不具备该过滤功能。
(即使其排序顺序最近有所改善

但是,shell可以(甚至在Windows上也可以,而git在Windows上打包了)

git tag|sed "s/\([^-_]*\)[-_].*/\1/g"|sort|uniq

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM