gpt4 book ai didi

bash - 在 bash 中只获取字符串的一部分的最简单方法

转载 作者:行者123 更新时间:2023-11-29 09:10:23 24 4
gpt4 key购买 nike

我喜欢听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'

剪切命令可帮助您选择字段。这些字段由分隔符定义,在本例中为 ':'-d选项指定分隔符,-f选项指定我们要选择的字段。

sed 部分只是删除引号。

关于bash - 在 bash 中只获取字符串的一部分的最简单方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/15703822/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com