当我在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
时,我应该只在任何' - '之前获得字符。或者' _'那也只有一次。
我怎么能这样做.. ???
答案 0 :(得分:3)
git tag
本身似乎没有那种过滤能力
(即使its sort ordering did improve recently)
但是shell(即使在Windows上,使用git for windows打包的那个)
git tag|sed "s/\([^-_]*\)[-_].*/\1/g"|sort|uniq