簡體   English   中英

Grep從git repo中取出標簽

[英]Grep out tags from git repo

嘗試使用shell從我的倉庫中清除不同的標簽:

git ls-remote --tags git@mit.usa.com:s1836/pro-ti.git | awk '{print $2}'

返回,我如何只刪除v1,v2,v3,v4等不同的標簽:

refs/tags/v1
refs/tags/v1^{}
refs/tags/v2
refs/tags/v2^{}
refs/tags/v3
refs/tags/v3^{}
refs/tags/v4
refs/tags/v4^{}

那么好的grepuniq

... | grep -o 'v[0-9]\+' | sort | uniq

您可以將git命令上方的管道傳遞給該awk:

git ls-remote --tags git@mit.usa.com:s1836/pro-ti.git | awk '
    {split($2,a,"[/^{]"); s[a[3]]} END{for (i in s) print i}'
v1
v2
v3
v4

對於多字符RS,使用GNU awk:

$ gawk -v RS='(\\^\\{\\})?\n' -F'/' '!seen[$NF]++{print $NF}' file
v1
v2
v3
v4

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM