如何操作这个txt文件?
-
- 帖子: 980
- 注册时间: 2008-04-12 12:44
如何操作这个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']}
最后两行的前两个,分别是:50\60
我如何得到这样的文件:
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']}
我实际上是想知道,如何对文件每行进行正则解析,除去每行行首的自然数(可能是一位,也可能是两位),请问这个shell如何写?
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']}
最后两行的前两个,分别是:50\60
我如何得到这样的文件:
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']}
我实际上是想知道,如何对文件每行进行正则解析,除去每行行首的自然数(可能是一位,也可能是两位),请问这个shell如何写?
- 速腾1994
- 论坛版主
- 帖子: 17379
- 注册时间: 2008-11-01 20:43
- 系统: Arch+gnome
Re: 如何操作这个txt文件?
好难!!
-
- 帖子: 1028
- 注册时间: 2008-11-01 21:42
- 来自: 树下板凳
-
- 帖子: 980
- 注册时间: 2008-04-12 12:44
Re: 如何操作这个txt文件?
可否全部写全?谢谢
- ptpt52
- 帖子: 717
- 注册时间: 2008-07-27 8:51
- 系统: Ubuntu/Windows
- 来自: 广西玉林|广东深圳
- 联系:
Re: 如何操作这个txt文件?
假设你的文本在文件 file 中,那么
即可 
代码: 全选
cat file | sed 's/^[0-9].//g'

走过去了也便有了路
http://www.ptpt52.com/
http://www.ptpt52.com/
-
- 帖子: 980
- 注册时间: 2008-04-12 12:44
Re: 如何操作这个txt文件?
通过google和各位的提示,我会处理这个问题了。
现在为了举一反三,假设情形更加复杂一点:
假定目标文件:
sdgdsggg
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']}
最后两行的前两个,分别是:50\60
我如何得到这样的文件:
sdgdsggg
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' sed.txt >> sed1.txt
pt@pt-laptop:~$ sed -n '2,$p' sed.txt | sed s/^[0-9]*[0-9]//g >> sed1.txt
个人感觉太臃肿,可否写成一条sed语句??
现在为了举一反三,假设情形更加复杂一点:
假定目标文件:
sdgdsggg
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']}
最后两行的前两个,分别是:50\60
我如何得到这样的文件:
sdgdsggg
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' sed.txt >> sed1.txt
pt@pt-laptop:~$ sed -n '2,$p' sed.txt | sed s/^[0-9]*[0-9]//g >> sed1.txt
个人感觉太臃肿,可否写成一条sed语句??
-
- 帖子: 1028
- 注册时间: 2008-11-01 21:42
- 来自: 树下板凳
- eexpress
- 帖子: 58428
- 注册时间: 2005-08-14 21:55
- 来自: 长沙
-
- 帖子: 817
- 注册时间: 2008-11-13 16:03
Re: 如何操作这个txt文件?
不懂正则,sed ,vim 等文本处理也不会很熟练
- HuaChong
- 帖子: 493
- 注册时间: 2006-09-12 17:10
Re: 如何操作这个txt文件?
两个写在一起用-e参数
sed -e 'blaba' -e 'blabla2' 这样
或者sed '
blabla
blabla'
之间加入换行或者把所有的操作写在一个文件里,用sed -f 来操作
sed -e 'blaba' -e 'blabla2' 这样
或者sed '
blabla
blabla'
之间加入换行或者把所有的操作写在一个文件里,用sed -f 来操作