如何在第三个斜杠BASH后删除字符串中的所有字符?

时间:2016-03-27 15:56:06

标签: linux bash shell awk sed

如何通过sed或awk删除bash中的3.rd斜杠后的字符串中的所有字符?
我不知道怎么做。
例如。我们有http://qwe.qwe.rty/asdfgh/zxc.html 我们需要:http://qwe.qwe.rty/

非常感谢你:)

4 个答案:

答案 0 :(得分:2)

我猜你还需要点

echo http://qwe.qwe.rty/asdfgh/zxc.html | cut -d/ -f1-3

http://qwe.qwe.rty

如果没有管道到tr -d '.'

答案 1 :(得分:1)

最后添加了一个斜杠,否则对我来说太棘手了。 根据建议更新。

awk -F"/" -v OFS=/ '{print $1,$2,$3,""}' file 
http://qwe.qwe.rty/

答案 2 :(得分:1)

使用参数扩展:

var="http://qwe.qwe.rty/asdfgh/zxc.html"
echo ${var%*${var#*/*/*/}}

答案 3 :(得分:0)

稍微复杂一点,但只有bash才能:

regex='^([^/]+)//([^/]+)/(.*)$' ; [[ "http://qwe.qwe.rty/asdfgh/zxc.html" =~ $regex ]] && echo ${BASH_REMATCH[1]}//${BASH_REMATCH[2]}