简体   繁体   English

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

[英]How to group output in command shell

when I run git tag command in linux terminal I get output as 当我在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

What i want is this kind of output... 我想要的是这种输出...

bssg
dummy
opal
pisn
ralp
salp
tms

ie on running git tag I should get only characters before any '-' or '_' and that too only once. 即在运行git tag我应该只在任何'-'或'_'之前获得字符,并且也只能获得一次。 How can I do this.. ??? 我怎样才能做到这一点.. ???

git tag itself doesn't seem to have that filtering capability. git tag本身似乎不具备该过滤功能。
(even though its sort ordering did improve recently ) (即使其排序顺序最近有所改善

But a shell does (even on Windows, with the one packaged with git for windows ) 但是,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