Str*_*Hat 4 shell string shell-script
我有一个字符串
/ip/192.168.0.1/port/8080/
Run Code Online (Sandbox Code Playgroud)
我想获得两个单独的变量,它们将包含端口和 IP
喜欢。192.168.0.1
和8080
据我所知 /ip/ 和 /port/ 会一直存在我得到的 Ip 如下,
expr /ip/192.168.0.1/port/8080/ : '/ip/\(.*\)/port/'
Run Code Online (Sandbox Code Playgroud)
这将输出192.168.0.1
只是不知道如何获取端口,我尝试了类似的命令,
expr /ip/192.168.0.1/port/8080/ : '/port/\(.*\)/'
Run Code Online (Sandbox Code Playgroud)
但它没有给出端口 .. 如何获取端口。
您可以简单地使用cut
如下:
cut -d '/' -f 3,5
Run Code Online (Sandbox Code Playgroud)
例子:
$ echo '/ip/192.168.0.1/port/8080/' | cut -d '/' -f 3,5
192.168.0.1/8080
Run Code Online (Sandbox Code Playgroud)
这将使用分隔符进行剪切/
并打印第 3 和第 5 个字段。
或者您可能想要以下内容:
$ echo ip=`cut -d '/' -f 3 input_file` port=`cut -d '/' -f 5 input_file`
ip=192.168.0.1 port=8080
Run Code Online (Sandbox Code Playgroud)