VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

Vim、Emacs配置和使用
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#1

帖子 jsjcjsjc » 2009-12-07 16:40

怎么从下面的的代码中复制出www.imdn.cn/tittle/tt*******,并集合在一个txt
(这是IMDB 8分以上的电影,无聊吧url换成imdb.cn的看一下简介在下~~~)
:em06 谢谢大家了

代码: 全选

<li><a href="http://www.imdb.cn/title/tt1022603/">(500) Days of Summer (2009)</a><small> 8.1/10 (29315 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0443424/">9 (2005)</a><small> 8.0/10 (1115 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt1019452/">A Serious Man (2009)</a><small> 8.2/10 (4223 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt1280558/">A Wednesday (2008)</a><small> 8.4/10 (3386 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0181875/">Almost Famous (2000)</a><small> 8.0/10 (87915 votes)</small><br> ...aka Untitled: Almost Famous the Bootleg Cut (2000) (USA: director's cut) (DVD title)
</li>
<li><a href="http://www.imdb.cn/title/tt0169547/">American Beauty (1999)</a><small> 8.6/10 (267462 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0765429/">American Gangster (2007)</a><small> 8.0/10 (103642 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0120586/">American History X (1998)</a><small> 8.6/10 (200201 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0759952/">American Zeitgeist (2006)</a><small> 8.4/10 (1861 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0245712/">Amores perros (2000)</a><small> 8.2/10 (54864 votes)</small><br> ...aka Amores Perros (2000) (USA)
<br> ...aka Amores Perros (2001) (UK)
<br> ...aka Love's a 囗囗囗囗囗 (2000) (International: English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0252052/">An American Reunion (2003)</a><small> 8.2/10 (1332 votes)</small><br> ...aka Ten Year (2003) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt0497116/">An Inconvenient Truth (2006)</a><small> 8.0/10 (32867 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0367495/">Anbe Sivam (2003)</a><small> 8.4/10 (1246 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0109117/">Andaz Apna Apna (1994)</a><small> 8.4/10 (3821 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt1157605/">Anvil! The Story of Anvil (2008)</a><small> 8.2/10 (2973 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0932936/">Assassin's Creed (2007) (VG)</a><small> 8.7/10 (2161 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0476735/">Babam Ve Oglum (2005)</a><small> 8.8/10 (10904 votes)</small><br> ...aka My Father and My Son (2005) (International: English title)
<br> ...aka My Father and Son (2005) (International: English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0118849/">Bacheha-Ye aseman (1997)</a><small> 8.0/10 (5728 votes)</small><br> ...aka Children of Heaven (1999) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt0288439/">Bang Bang You're Dead (2002)</a><small> 8.1/10 (4812 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0103767/">Baraka (1992)</a><small> 8.2/10 (9070 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0450392/">Batman Begins (2005) (VG)</a><small> 8.2/10 (4312 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0372784/">Batman Begins (2005)</a><small> 8.3/10 (244253 votes)</small><br> ...aka Batman Begins: The IMAX Experience (2005) (USA: IMAX version)
</li>
<li><a href="http://www.imdb.cn/title/tt1282022/">Batman: Arkham Asylum (2009) (VG)</a><small> 9.7/10 (1280 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0266308/">Batoru rowaiaru (2000)</a><small> 8.0/10 (46539 votes)</small><br> ...aka Battle Royale (2000) (USA)
<br> ...aka Battle Royale (2001) (International: English title) (UK)
</li>
<li><a href="http://www.imdb.cn/title/tt0101414/">Beauty and the Beast (1991)</a><small> 8.0/10 (62092 votes)</small><br> ...aka Beauty and the Beast 3-D (2010) (USA: promotional title)
<br> ...aka Beauty and the Beast: Special Edition (1991) (USA: longer version)
</li>
<li><a href="http://www.imdb.cn/title/tt0112471/">Before Sunrise (1995)</a><small> 8.0/10 (34964 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0381681/">Before Sunset (2004)</a><small> 8.0/10 (41119 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0110882/">Before the Rain (1994)</a><small> 8.1/10 (4818 votes)</small><br> ...aka Pred dozhdot (1994) (Republic of Macedonia)
<br> ...aka 鹨拍 南帜显 (1994) (Republic of Macedonia: original Cyrillic KOI8-R title)
</li>
<li><a href="http://www.imdb.cn/title/tt0263124/">Bicho de Sete Cabeças (2001)</a><small> 8.1/10 (1089 votes)</small><br> ...aka Brainstorm (2001) (Canada: English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0319061/">Big Fish (2003)</a><small> 8.1/10 (126528 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0423866/">Bin-jip (2004)</a><small> 8.0/10 (13945 votes)</small><br> ...aka 3-Iron (2004) (Canada: English title) (International: English title) (UK) (USA)
<br> ...aka Bin jib (2004) (South Korea: alternative transliteration)
<br> ...aka Empty Houses (2004) (literal English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0161941/">Biohazard 2 (1998) (VG)</a><small> 9.3/10 (1077 votes)</small><br> ...aka Resident Evil 2 (1998) (VG) (USA)
<br> ...aka Resident Evil 2 Platinum (1998) (VG) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt0397042/">Biohazard 4 (2005) (VG)</a><small> 9.6/10 (3011 votes)</small><br> ...aka Biohazard 4: Wii Edition (2005) (VG) (Japan: reissue title)
<br> ...aka Resident Evil 4 (2005) (VG) (International: English title) (USA)
<br> ...aka Resident Evil 4: Wii Edition (2005) (VG) (USA: reissue title)
</li>
<li><a href="http://www.imdb.cn/title/tt1094581/">BioShock (2007) (VG)</a><small> 9.5/10 (2986 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0375611/">Black (2005)</a><small> 8.0/10 (4891 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0400234/">Black Friday (2004)</a><small> 8.3/10 (1697 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0450259/">Blood Diamond (2006)</a><small> 8.0/10 (101598 votes)</small><br> ...aka Blood Diamond (2006) (Germany)
</li>
<li><a href="http://www.imdb.cn/title/tt0374546/">Bom yeoreum gaeul gyeoul geurigo bom (2003)</a><small> 8.1/10 (16200 votes)</small><br> ...aka Fr黨ling, Sommer, Herbst, Winter... und Fr黨ling (2003) (Germany)
<br> ...aka Spring, Summer, Autumn, Winter... and Spring (2004) (Australia) (UK)
<br> ...aka Spring, Summer, Fall, Winter... and Spring (2003) (International: English title) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt0310793/">Bowling for Columbine (2002)</a><small> 8.2/10 (73637 votes)</small><br> ...aka Bowling for Columbine (2002) (Germany)
<br> ...aka Bowling � Columbine (2002) (Canada: French title)
</li>
<li><a href="http://www.imdb.cn/title/tt0112573/">Braveheart (1995)</a><small> 8.4/10 (219149 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0983213/">Byôsoku 5 senchimêtoru (2007)</a><small> 8.1/10 (2731 votes)</small><br> ...aka 5 Centimeters per Second (2007) (International: English title: literal title) (USA)
<br> ...aka 5 Centimeters per Second: A Chain of Short Stories About Their Distance (2007) (International: English title)
<br> ...aka 5 Centimetres per Second (2007) (UK)
</li>
<li><a href="http://www.imdb.cn/title/tt0401085/">C.R.A.Z.Y. (2005)</a><small> 8.0/10 (11909 votes)</small><br> ...aka C.R.A.Z.Y. (2005) (UK) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt0449573/">California Dreamin' (Nesfarsit) (2007)</a><small> 8.0/10 (3993 votes)</small><br> ...aka California Dreamin' (2008) (UK) (USA)
<br> ...aka California Dreamin' (Nesfarsit) (2007) (Europe: English title: festival title)
<br> ...aka Nesfarsit (2007) (Romania)
</li>
<li><a href="http://www.imdb.cn/title/tt0382590/">Call of Duty (2003) (VG)</a><small> 9.2/10 (1139 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt1125798/">Call of Duty 4: Modern Warfare (2007) (VG)</a><small> 9.7/10 (4013 votes)</small><br> ...aka CoD4 (2007) (VG) (USA: short title)
</li>
<li><a href="http://www.imdb.cn/title/tt1323508/">Call of Duty: World at War (2008) (VG)</a><small> 8.7/10 (1086 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0342172/">Capturing the Friedmans (2003)</a><small> 8.0/10 (8692 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0112641/">Casino (1995)</a><small> 8.1/10 (96793 votes)</small><br> ...aka Casino (1995) (France)
</li>
<li><a href="http://www.imdb.cn/title/tt0381061/">Casino Royale (2006)</a><small> 8.0/10 (159069 votes)</small><br> ...aka James Bond 007 - Casino Royale (2006) (Germany)
</li>
<li><a href="http://www.imdb.cn/title/tt0140888/">Central do Brasil (1998)</a><small> 8.0/10 (16557 votes)</small><br> ...aka Central Station (1998) (UK) (USA)
<br> ...aka Central do Brasil (1998) (France)
</li>
<li><a href="http://www.imdb.cn/title/tt0871510/">Chak De! India (2007)</a><small> 8.1/10 (4389 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0824747/">Changeling (2008)</a><small> 8.0/10 (51042 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0206634/">Children of Men (2006)</a><small> 8.1/10 (140725 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0109424/">Chung Hing sam lam (1994)</a><small> 8.0/10 (15229 votes)</small><br> ...aka Chongqing senlin (1994) (Hong Kong: Mandarin title)
<br> ...aka Chung King Express (1994) (Hong Kong: English title)
<br> ...aka Chungking Express (1995) (UK) (USA)
<br> ...aka Chungking Jungle (1994) (literal English title)
<br> ...aka Hong Kong Express (1995) (Europe: English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0317248/">Cidade de Deus (2002)</a><small> 8.8/10 (146622 votes)</small><br> ...aka City of God (2002) (International: English title) (UK) (USA)
<br> ...aka God's Town (2002) (International: English title)
<br> ...aka La cit� de Dieu (2002) (France)
</li>
<li><a href="http://www.imdb.cn/title/tt0352248/">Cinderella Man (2005)</a><small> 8.0/10 (58195 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0109445/">Clerks. (1994)</a><small> 8.0/10 (84756 votes)</small><br> ...aka Clerks X: Tenth Anniversary Edition (2004) (USA: DVD title)
</li>
<li><a href="http://www.imdb.cn/title/tt0380268/">Cocaine Cowboys (2006)</a><small> 8.0/10 (3202 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0296574/">Company (2002)</a><small> 8.2/10 (2090 votes)</small></li>
<li><a href="http://www.imdb.cn/title/tt0375679/">Crash (2004/I)</a><small> 8.0/10 (155753 votes)</small><br> ...aka L.A. Crash (2005) (Germany)
</li>
<li><a href="http://www.imdb.cn/title/tt0118843/">Crna macka, beli macor (1998)</a><small> 8.0/10 (14874 votes)</small><br> ...aka Black Cat, White Cat (1998) (UK) (USA)
<br> ...aka Chat noir, chat blanc (1998) (France)
<br> ...aka Mavri gata, aspros gatos (1998) (Greece)
<br> ...aka Schwarze Katze, wei遝r Kater (1998) (Germany)
</li>
<li><a href="http://www.imdb.cn/title/tt0101640/">Da hong deng long gao gao gua (1991)</a><small> 8.0/10 (9543 votes)</small><br> ...aka Raise the Red Lantern (1992) (UK) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt1360860/">Darbareye Elly (2009)</a><small> 8.1/10 (1092 votes)</small><br> ...aka About Elly (2009) (Europe: English title: festival title) (International: English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0408664/">Dare mo shiranai (2004)</a><small> 8.1/10 (7091 votes)</small><br> ...aka Daremo shiranai - Nobody knows (2004) (Japan: poster title)
<br> ...aka Nobody Knows (2004) (International: English title) (USA: literal English title)
</li>
<li><a href="http://www.imdb.cn/title/tt0405094/">Das Leben der Anderen (2006)</a><small> 8.5/10 (63433 votes)</small><br> ...aka The Lives of Others (2006) (UK) (USA)
</li>
<li><a href="http://www.imdb.cn/title/tt1149362/">Das weisse Band - Eine deutsche Kindergeschichte (2009)</a><small> 8.2/10 (2280 votes)</small><br> ...aka A White Ribbon (2009) (Europe: English title)
<br> ...aka Il nastro bianco (2009) (Italy)
<br> ...aka Le ruban blanc (2009) (France)
<br> ...aka The White Ribbon (2009) (International: English title) (UK) (USA)
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#2

帖子 jsjcjsjc » 2009-12-07 16:41

忘了说了,不是全部8分以上的,源码很多,就捡了一部分
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#3

帖子 lilydjwg » 2009-12-07 16:48

这个 grep 比较擅长:

代码: 全选

grep -oP 'http://www.imdb.cn/title/tt[^"]+' your_file_name
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#4

帖子 jsjcjsjc » 2009-12-12 11:19

lilydjwg 写了:这个 grep 比较擅长:

代码: 全选

grep -oP 'http://www.imdb.cn/title/tt[^"]+' your_file_name
我是win下执行的,grep -oP 'http://www.imdb.cn/title/tt[^"]+' movie.txt.貌似不行啊还是我生成的movie.txt找不到~~~
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#5

帖子 lilydjwg » 2009-12-12 11:41

jsjcjsjc 写了:
lilydjwg 写了:这个 grep 比较擅长:

代码: 全选

grep -oP 'http://www.imdb.cn/title/tt[^"]+' your_file_name
我是win下执行的,grep -oP 'http://www.imdb.cn/title/tt[^"]+' movie.txt.貌似不行啊还是我生成的movie.txt找不到~~~
你要确定你的 grep 程序在 %PATH% 里或者当前目录下,然后再确定 movie.txt 在当前目录下,最后确定你是在 cmd 里执行的。

还有不行的话,考虑到 Lin 下来弄,或者装 Cygwin,或者改用 Python 之类的脚本语言来弄。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#6

帖子 lilydjwg » 2009-12-12 11:56

辛苦了好久,给你写了个 Vim 脚本:

代码: 全选

let l = getline(1, '$')
call map(l, 'matchstr(v:val, ''http:\/\/www.imdb.cn\/title\/tt[^"]\+'')')
%d
call setline(1, l)
g/^\s*$/d
把它存成文件,打开你的 movie.txt,然后

代码: 全选

:so the_script_file
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#7

帖子 aerofox » 2009-12-12 12:00

在 Win 下也许不要那层单引号了。在 Linux 中,参数扩展是 Shell 来完成的,在 Windows 中,参数扩展是应用程序自己完成的。
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#8

帖子 lilydjwg » 2009-12-12 12:08

aerofox 写了:在 Win 下也许不要那层单引号了。在 Linux 中,参数扩展是 Shell 来完成的,在 Windows 中,参数扩展是应用程序自己完成的。
可是那个正则里有个双引号,它不碍事吗?
aerofox
帖子: 1453
注册时间: 2008-05-24 8:30

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#9

帖子 aerofox » 2009-12-12 15:22

lilydjwg 写了:
aerofox 写了:在 Win 下也许不要那层单引号了。在 Linux 中,参数扩展是 Shell 来完成的,在 Windows 中,参数扩展是应用程序自己完成的。
可是那个正则里有个双引号,它不碍事吗?
现在不想启动到 Windows 下,没有实验,不能确认,所以我用了个也许。
如果不需要单引号,那么 Windows 就有可能把单引号原封不动地给了 grep,那就错了。
需要到 Windows 一试。
jsjcjsjc
帖子: 152
注册时间: 2007-03-03 13:36

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#10

帖子 jsjcjsjc » 2009-12-12 16:24

lilydjwg 写了:辛苦了好久,给你写了个 Vim 脚本:

代码: 全选

let l = getline(1, '$')
call map(l, 'matchstr(v:val, ''http:\/\/www.imdb.cn\/title\/tt[^"]\+'')')
%d
call setline(1, l)
g/^\s*$/d
把它存成文件,打开你的 movie.txt,然后

代码: 全选

:so the_script_file

非常感谢,这下可以了。还有就是我下载的win下的grep貌似不支持LIN下的命令,所以不行
:em01
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#11

帖子 xhy » 2009-12-12 17:15

代码: 全选

python -c 'import re;open("urls.txt", "w+").writelines("\n".join(re.findall("http://.*/title/tt\d*", open("info.txt").read())))'
目前负债150多万
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#12

帖子 lilydjwg » 2009-12-12 17:44

xhy 写了:

代码: 全选

python -c 'import re;open("urls.txt", "w+").writelines("\n".join(re.findall("http://.*/title/tt\d*", open("info.txt").read())))'
File "<string>", line 1
'import
^
SyntaxError: EOL while scanning string literal
看来 cmd 只认双引号。
头像
xhy
帖子: 3916
注册时间: 2005-12-28 1:16
系统: Ubuntu 12.10 X64
来自: 火星

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#13

帖子 xhy » 2009-12-12 18:53

lilydjwg 写了:
xhy 写了:

代码: 全选

python -c 'import re;open("urls.txt", "w+").writelines("\n".join(re.findall("http://.*/title/tt\d*", open("info.txt").read())))'
File "<string>", line 1
'import
^
SyntaxError: EOL while scanning string literal
看来 cmd 只认双引号。
不是在vim里调用,是直接在shell里用
目前负债150多万
头像
lilydjwg
论坛版主
帖子: 4258
注册时间: 2009-04-11 23:46
系统: Arch Linux
联系:

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#14

帖子 lilydjwg » 2009-12-12 19:14

xhy 写了:不是在vim里调用,是直接在shell里用
是在 cmd 里调用的。人家是在 Windows 下嘛。
在 Windows 还是最好不要写长长的命令的好。
wenqungang
帖子: 40
注册时间: 2009-11-13 17:48

Re: VIM怎么进行有规律的批量复制并集合在一起,有点绕,大家帮个忙

#15

帖子 wenqungang » 2010-01-01 0:15

在Vim的命令行试试下面两条命令:
:%s/^.\{-}\(".\{-}"\).*$/\1/g
:%g/^[^"]/d
回复