分页: 1 / 1

问个脚本, 怎么得到子串

发表于 : 2012-10-02 4:50
esolve
一个文件里有很多行,有如下两种类型
http://www.youtube.com/watch?v=VVmbhYKDKfU
http://www.youtube.com/watch?v=95K3--2B ... sults_main

我要攫取 VVmbhYKDKfU, 95K3--2BU0U , 这两个子串
也就是/watch?v=后 以及 &playnext=1 之前的那个子串

用shell awk 或者sed
大致如何完成?
谢谢

Re: 问个脚本, 怎么得到子串

发表于 : 2012-10-02 8:13
cuihao
:em04 既不会awk也不太了解sed

代码: 全选

URL='http://www.youtube.com/watch?v=95K3--2BU0U&playnext=1&list=PL450D7EFC342E63A3&feature=results_main'
python2 -c "import re;print re.search(r'(?<=watch\?v=)[^&]*','$URL').group()"

Re: 问个脚本, 怎么得到子串

发表于 : 2012-10-02 9:39
lilydjwg

代码: 全选

grep -oP '(?<=v=)[^&]+'

Re: 问个脚本, 怎么得到子串

发表于 : 2012-10-02 10:51
枫叶饭团

代码: 全选

awk -F "[&?]" '{ print $2 }'

Re: 问个脚本, 怎么得到子串

发表于 : 2012-10-02 11:01
枫叶饭团

代码: 全选

sed 's/.*watch?\(.*\)&playnext.*/\1/'
这个好玩