在bash中只获取字符串的一部分的最简单方法
发布时间:2020-12-15 21:16:52 所属栏目:安全 来源:网络整理
导读:我喜欢听sky.fm,我使用curl来查询媒体信息 我现在用的是: curl -s curl http://127.0.0.1:8080/requests/status.json | grep now_playing 返回: "now_playing":"Cody Simpson - On My Mind" 我想拥有的是: Cody Simpson - On My Mind 也许更好,将艺术家和
我喜欢听sky.fm,我使用curl来查询媒体信息
我现在用的是: curl -s curl http://127.0.0.1:8080/requests/status.json | grep now_playing 返回: "now_playing":"Cody Simpson - On My Mind" 我想拥有的是: Cody Simpson - On My Mind 也许更好,将艺术家和标题放在单独的变量中. artist: Cody Simpson title: On My mind 解 #!/bin/bash a=`curl -s http://127.0.0.1:8080/requests/status.json | grep -Po '(?<=now_playing":")[^"]+'` artist=$(echo $a | awk -F' - ' '{print $1}') title=$(echo $a | awk -F' - ' '{print $2}') echo $artist echo $title 解决方法
你可以用cut做到这一点.
curl -s http://127.0.0.1:8080/requests/status.json | grep 'now_playing' | cut -d : -f 2 | sed 's/"//g' cut命令可帮助您选择字段.字段由分隔符定义,在本例中为“:”. -d选项指定分隔符,-f选项指定我们要选择的字段. sed部分只是删除引号. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |