![첫 번째 경로의 도메인 이름과 포트 번호만 추출](https://linux55.com/image/60727/%EC%B2%AB%20%EB%B2%88%EC%A7%B8%20%EA%B2%BD%EB%A1%9C%EC%9D%98%20%EB%8F%84%EB%A9%94%EC%9D%B8%20%EC%9D%B4%EB%A6%84%EA%B3%BC%20%ED%8F%AC%ED%8A%B8%20%EB%B2%88%ED%98%B8%EB%A7%8C%20%EC%B6%94%EC%B6%9C.png)
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