如何操作这个txt文件?

sh/bash/dash/ksh/zsh等Shell脚本
回复
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

如何操作这个txt文件?

#1

帖子 罗非鱼 » 2010-04-08 21:00

假定目标文件:
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文件?

#2

帖子 速腾1994 » 2010-04-08 21:21

好难!!
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

Re: 如何操作这个txt文件?

#3

帖子 t3swing » 2010-04-09 9:03

vi版本 :%s/^[0-9]*//g
sed也一样 把开头的数字替换成空就ok了 ,很简单的
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何操作这个txt文件?

#4

帖子 罗非鱼 » 2010-04-09 9:18

可否全部写全?谢谢
头像
ptpt52
帖子: 717
注册时间: 2008-07-27 8:51
系统: Ubuntu/Windows
来自: 广西玉林|广东深圳
联系:

Re: 如何操作这个txt文件?

#5

帖子 ptpt52 » 2010-04-09 10:05

假设你的文本在文件 file 中,那么

代码: 全选

cat file | sed 's/^[0-9].//g'
即可 :em11
走过去了也便有了路
http://www.ptpt52.com/
罗非鱼
帖子: 980
注册时间: 2008-04-12 12:44

Re: 如何操作这个txt文件?

#6

帖子 罗非鱼 » 2010-04-09 13:02

通过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语句??
t3swing
帖子: 1028
注册时间: 2008-11-01 21:42
来自: 树下板凳

Re: 如何操作这个txt文件?

#7

帖子 t3swing » 2010-04-09 13:19

:em20
lz把问题搞复杂了 ,这个处理起来没区别!
民族的脊梁,是踏实做事的人,非只知道骂街的泼妇。
头像
eexpress
帖子: 58428
注册时间: 2005-08-14 21:55
来自: 长沙

Re: 如何操作这个txt文件?

#8

帖子 eexpress » 2010-04-09 13:22

估计是没看过正则的。
● 鸣学
onelynx
帖子: 817
注册时间: 2008-11-13 16:03

Re: 如何操作这个txt文件?

#9

帖子 onelynx » 2010-04-14 10:34

不懂正则,sed ,vim 等文本处理也不会很熟练
头像
HuaChong
帖子: 493
注册时间: 2006-09-12 17:10

Re: 如何操作这个txt文件?

#10

帖子 HuaChong » 2010-05-18 12:43

两个写在一起用-e参数
sed -e 'blaba' -e 'blabla2' 这样
或者sed '
blabla
blabla'
之间加入换行或者把所有的操作写在一个文件里,用sed -f 来操作
回复