2015-09-04 37 views
0

我有一个脚本,看起来像这样如何从字符串中提取场庆典

[{"fileName":"animated.avi","movieId":"34802240145","url":"http://vu.mycdn.me/upload.do?sig=2223a95d7e51832a09d03aa2f23ad3dec0a2c430\u0026expires=1441573849826\u0026clientType=0\u0026id=34802240145\u0026userId=569513266321","accessRights":0}] 

我需要提取“URL”的值的输出。

我试过用这样的sed。假设输出是在temp.txt中

sed '/url/,/accessRights/p' temp.txt 

也尝试使用grep,但无法解压缩它。

回答

1

如何使用剪切?

cat temp.txt | cut -d ',' -f3 | cut -d '"' -f4 

拳头切割导致

"url":"http://vu.mycdn.me/upload.do?sig=2223a95d7e51832a09d03aa2f23ad3dec0a2c430\u0026expires=1441573849826\u0026clientType=0\u0026id=34802240145\u0026userId=569513266321" 

第二个提取之间 '“' 字符的内容

结果:

http://vu.mycdn.me/upload.do?sig=2223a95d7e51832a09d03aa2f23ad3dec0a2c430\u0026expires=1441573849826\u0026clientType=0\u0026id=34802240145\u0026userId=569513266321 
+1

我刚开始用linux,它很棒。谢谢:) – dnit13

+0

是的!每个人都经历着成长的痛苦。祝你好运! StackOverflow将成为您的家;) – SWPhantom

0

我建议使用一块Python代码如下:

#!/usr/bin/python 
data = [{"fileName":"animated.avi","movieId":"34802240145","url":"http://vu.mycdn.me/upload.do?sig=2223a95d7e51832a09d03aa2f23ad3dec0a2c430\u0026expires=1441573849826\u0026clientType=0\u0026id=34802240145\u0026userId=569513266321","accessRights":0}] 
data = data[0] 
# if you want to get the next field of 'url', meaning 'accessRights', calling the following one (or the other field) 
print data['accessRights'] 

将其保存到一个文件中,例如名为extract.py。然后,在输入端子:

[email protected]>extract > temp.txt 

结果把文件temp.txt英寸在本例中,0是返回的值。