첫 번째 경로의 도메인 이름과 포트 번호만 추출

첫 번째 경로의 도메인 이름과 포트 번호만 추출
str1="https://111.111.111.111:2222/cpsess8993738132/scripts4/listaccts/"
str2="https://111.111.111.111:2222/cpsess8993738132/"
str3="https://111.111.111.111:2222/cpsess8993738132/cgi/server/xyz.cgi|Server     Security & Firewall|111.22.33.31.|0|1|0||0|2221331130315786|fzerstxBjUiZ"

https://IP:port/firstpath//of/the/paths/and_some_thing_else의 나머지 부분 만 추출하려면 어떻게 해야 합니까?

가장 많이 추출하고 싶을 뿐이에요https://IP:포트/첫 번째 경로/

쉘 스크립트에서 이 작업을 어떻게 수행할 수 있습니까?

답변1

> str1="https://111.111.111.111:2222/cpsess8993738132/scripts4/listaccts/"
> rest="${str1#*//?*/}"
> str="${str1%"$rest"}"
> echo "$str"
https://111.111.111.111:2222/

답변2

저는 어젯밤부터 노력해왔고 StackExchange에 게시한 지 몇 분 만에 해결책을 찾았습니다.

string="https://111.22.33.44:5557/xyzsess81122334442/scripts4/listaccts/xfercpanel/some" 도와주셔서 감사합니다...

echo $string | sed 's/\//\/\n/4'


>     echo $string | sed 's/\//\/\n/4'
>        s/ -> replace command
>       \/ => find all /
>       replace with \/\n -> \and newline 
>      /4 --> 4th occurance

관련 정보