|
楼主 |
发表于 2010-4-9 16:40:02
|
显示全部楼层
拜读您的帖子,知道我的正则表达还可以继续简化,我的本意是,如果一个文档需要提取第一行,同时对后面的几行进行操作,可否用一行来表达,
具体一点说:
假定我的目标文件是
100sdgdsggg
1require 'rubygems'
2require 'hpricot'
3require 'open-uri'
4doc = Hpricot(open('http://www.google.com/search?q=ruby'))
50links = doc/"//a[@class=l]"
60links.map.each {|link| puts link.attributes['href']}
我需要得到
100sdgdsggg
require 'rubygems'
require 'hpricot'
require 'open-uri'
doc = Hpricot(open('http://www.google.com/search?q=ruby'))
links = doc/"//a[@class=l]"
links.map.each {|link| puts link.attributes['href']}
也就是,需要表达,第一行原封不懂,第二行到文档结束,去掉前面的数字(一位或者两位)
可以用两句话实现
pt@pt-laptop:~$ sed -n '1p' /home/pt/test/sed.txt
100sdgdsggg
pt@pt-laptop:~$ sed -n '2,$p' /home/pt/test/sed.txt
1require 'rubygems'
2require 'hpricot'
3require 'open-uri'
4doc = Hpricot(open('http://www.google.com/search?q=ruby'))
50links = doc/"//a[@class=l]"
60links.map.each {|link| puts link.attributes['href']}
这两个命令可否合并为一句话?? |
|