我有一个程序,返回如下内容:

status: playing
artURL: http://beta.grooveshark.com/static/amazonart/m3510922.jpg
estimateDuration: 29400
calculatedDuration: 293000
albumName: This Is It
position: 7291.065759637188
artistName: Michael Jackson
trackNum: 13
vote: 0
albumID: 3510922
songName: Billie Jean
artistID: 39
songID: 24684170

我想从这一切中提取艺人的名字和歌曲的名字,我想白鹭是一个很好的方法。问题是我不知道如何只返回匹配行的一部分,而不是整个行。
egrep "artistName"明显回报
artistName: Michael Jackson

我只需要它回来
Michael Jackson

任何帮助都将不胜感激。谢谢。

最佳答案

您需要将输出管道传输到另一个程序,如cut:

egrep ^artistName | cut -d ' ' -f 2-

或者你可以在awk或sed中完成整个过程:
awk -F ': ' '/^artistName/ {print $2}'
sed -n '/^artistName/ {s/.*: //;p;}'

关于linux - 如何使用egrep只返回一行的一部分,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3646682/

10-13 09:15