使用sed编辑器的shell命令
echo http://www.domain.com/?params | sed -e 's;https\?://;;' | sed -e 's;/.*$;;'
输出 的 www.domain.com
如何使用unix awk编辑器输出此字符串?
awk {print}?
答案 0 :(得分:5)
你可以试试这个,
$ echo http://www.domain.com/?params | awk -F/ '{print $3}'
www.domain.com
通过grep,
$ echo http://www.domain.com/?params | grep -oP '(?<=/)[^/]+(?=/)'
www.domain.com
通过sed,
$ echo http://www.domain.com/?params | sed 's/.*\/\([^\/]\+\)\/.*/\1/'
www.domain.com
答案 1 :(得分:2)
除了所有perl / sed / awk / grep之外,这实际上非常适合剪切:
$ echo http://www.domain.com/?params | cut -d/ -f3
www.domain.com
答案 2 :(得分:0)
使用awk和gsub:
$ echo http://www.domain.com/?params | awk '{gsub("\\/\\?params$", ""); print}'
http://www.domain.com
$ echo http://www.domain.com/?params | awk '{gsub("\\/\\?params$",""); gsub("^http://",""); print}'
www.domain.com
或者,(感谢Avinash Raj):
$ echo http://www.domain.com/?params | awk '{gsub(/\/\?params$|^http:\/\//,""); print }'
www.domain.com
的Perl:
$ echo http://www.domain.com/?params | perl -pe 's/^http:\/\/([^\/]+).*/\1/'
www.domain.com
或者:
$ echo http://www.domain.com/?params | perl -ne 'print "$1\n" if /^http:\/\/([^\/]+)/; '
www.domain.com
答案 3 :(得分:0)
稍微混合
expr match http://www.domain.com/?params '.*/\(.*\)/'
或
expr http://www.domain.com/?params : '.*/\(.*\)/'
稍后会有更多斜杠
expr http://www.domain.com/?params/ : '.*//\([^/]*\)/'
包含一些非常奇怪的东西正在用斜线
expr http://www.domain.com/?params/ : '[^/]*//\([^/]*\)/'