加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 综合聚焦 > 服务器 > 安全 > 正文

在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部分只是删除引号.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读