2017-03-16 14 views
1

我想分析從GitHub存儲庫,它有兩種形式:使用的sed有兩種可能的輸入格式

爲SSH:

Fetch URL: [email protected]:the/partIWant.git

爲HTTPS:

Fetch URL: https://github.com/the/partIWant.git

我用於ssh的命令是:

echo "Fetch URL: [email protected]:the/partIWant.git" | sed 's/.*://;s/.git$//'

和HTTPS:

echo "Fetch URL: https://github.com/the/partIWant.git" | sed 's/.*https:\/\/github.com//;s/.git$//'

我怎麼能結合兩種,以正確解析,不分類型?

+0

兩個命令的輸出是微妙的不同:首先是'/該/ partIWant',第二個是'的/ partIWant' - 你能澄清你期望的輸出嗎?大概它應該是相同的? –

+0

你是對的,我想獲得'the/partIWant' – Daniel

回答

1

您只關心github.com的存儲庫?可以使用圖案做

sed 's/.*github\.com.//;s/.git$//' 

參見輸出

$ echo "Fetch URL: https://github.com/the/partIWant.git" | sed 's/.*github\.com.//;s/.git$//' 
the/partIWant 
$ echo "Fetch URL: [email protected]:the/partIWant.git" | sed 's/.*github\.com.//;s/.git$//' 
the/partIWant 
+0

完美,謝謝! – Daniel