LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 916|回复: 6

如何抓取指定内容?

[复制链接]
发表于 2007-2-10 23:12:11 | 显示全部楼层 |阅读模式
我用cut来过滤.txt里面的内容"<"
cut -d< -f1 XXX.txt
他提示参数错误,那么我们如何才能以“<“为过滤符,cut命令能以单词像"dog"来做分间符的么?

grep命令里面 我想搜索 .txt文件里的所有图片地址,想他们出现在终端里,但也失败了
我是 grep "http.*.jpeg" XXX
这样也失败了。那么如何才能搜索到他们呢?

还有.txt内容里有这么一句 <title>大家好啊</title>
我想抓取“大家好”那么应该如何抓?
发表于 2007-2-12 06:35:31 | 显示全部楼层
Post by ning
我用cut来过滤.txt里面的内容"<"
cut -d< -f1 XXX.txt
他提示参数错误,那么我们如何才能以“<“为过滤符

cut -d\< -f1 XXX.txt
回复 支持 反对

使用道具 举报

发表于 2007-2-12 10:11:07 | 显示全部楼层
第一不太明白你的意思,如果要过滤掉某些字符用 tr 或者sed好些。要是做separator用awk
好些:P

后两个,仅参考
$ cat 0
x111 fff
a<http://dddd.com/0.jpeg
/
<<
<title>haha</title>

davi@davistar ~/shell
$ grep -o 'http://[0-9a-z]*\.[a-z]*/[0-9]*\.jpeg' 0
http://dddd.com/0.jpeg

davi@davistar ~/shell
$ sed -n 's/<title>\(.*\)<\/title>/\1/p' 0
haha
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 19:24:01 | 显示全部楼层
为什么要在 d后面加一个“\“呢?
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-2-12 19:38:10 | 显示全部楼层
$ cat 0
x111 fff
a<http://dddd.com/0.jpeg
/
<<
<title>haha</title>

davi@davistar ~/shell
$ grep -o 'http://[0-9a-z]*\.[a-z]*/[0-9]*\.jpeg' 0
http://dddd.com/0.jpeg

davi@davistar ~/shell
$ sed -n 's/<title>\(.*\)<\/title>/\1/p' 0
haha

$ grep -o 'http://[0-9a-z]*\.[a-z]*/[0-9]*\.jpeg' 0
http://dddd.com/0.jpeg

这里为什么要用[a-z]*/[0-9]*来匹配后面的网址
[a-z]*/[0-9]*
能讲解一下这个作用么?
回复 支持 反对

使用道具 举报

发表于 2007-2-13 02:37:26 | 显示全部楼层
Post by ning
为什么要在 d后面加一个“\“呢?

转意,禁止shell将<解释为重定向。
回复 支持 反对

使用道具 举报

发表于 2007-3-15 10:16:30 | 显示全部楼层
line="<title>fdfd</title>"
echo ${line:7:4}

取词可以这样弄,但找字符串我不知道,难道写循环去弄?
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表