你可以請用awk解決方案嘗試,並讓我知道如果這可以幫助你。
echo "https://console.developers.google.com/storage/browser/test-lab-acteghe53j0sf-jrf3f8u8p12n4/2017-09-27_15:23:07.566833_MPoy/" | awk '{sub(/.*browser\//,"");sub(/\/$/,"");print}'
說明:簡單地說,替代一切直到browser/
然後最後/
用NULL代替。
EDIT1:也在這裏添加sed解決方案。
sed 's/\(.[^//]*\)\/\/\(.[^/]*\)\(.[^/]*\)\(.[^/]*\)\/\(.*\)/\5/' Input_file
輸出如下。
test-lab-acteghe53j0sf-jrf3f8u8p12n4/2017-09-27_15:23:07.566833_MPoy/
說明SED命令:將整個線成零件,並使用sed中的,以保持匹配的正則表達式到內存的能力所以這裏我使用的分隔。
([^ //]):*這將有可貴的https:在它,如果有人想將其打印出來,你可以使用\1
它,因爲這是第一個緩衝區的sed。
//:現在按URL //
談到現在不談。
([^ /]):*既然說到了sed的緩衝區,將它具有價值console.developers.google.com
第二部分,因爲正則表達式查找的/
非常首次出現,並停止匹配存在本身。
([^ /])& &([^ /] )& & /(。):*這些接下來的3次出現的存儲緩衝區的方法相同,例如他們將查找/
的第一個匹配項,並將最後匹配的字母的下一個匹配項的值保留到第1個/
到來。
/\ 5 /:現在我代替一切與\5
指含有值每個操作的說明第5緩衝。
謝謝這有助於 –
@AnkitGupta,很高興它幫助你,我也加了解釋。讓我知道你是否有任何疑問。不斷學習,不斷分享知識,祝你有個美好的一天。 – RavinderSingh13