LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
12
返回列表 发新帖
楼主: 食古不化

如何将.html文件的名称改为其title的名称?

[复制链接]
发表于 2006-6-19 09:34:57 | 显示全部楼层
  1. TITLE =dd `head -8 $CC.html | pcregrep '^<title>'| perl -pe 's/<title>(.*)<\/ti tle>/$1/g' | tr -d ' ' `
复制代码

这样可以读取title了
回复 支持 反对

使用道具 举报

发表于 2006-6-20 17:20:44 | 显示全部楼层
楼上的句子能解释下吗?看不懂
回复 支持 反对

使用道具 举报

发表于 2006-6-20 18:06:47 | 显示全部楼层
不明白。。
回复 支持 反对

使用道具 举报

发表于 2006-6-21 02:51:05 | 显示全部楼层
Post by luweinet
  1. TITLE =dd `head -8 $CC.html | pcregrep '^<title>'| perl -pe 's/<title>(.*)<\/ti tle>/$1/g' | tr -d ' ' `
复制代码
这样可以读取title了

1. 读取html文件头8行。
2. pcregrep 是兼容 Perl 正则的grep。搜索 开头是 <title> 的行。
3. -e program      one line of program (several -e's allowed, omit programfile)
  -p              assume loop like -n but print line also, like sed
-n              assume "while (<>) { ... }" loop around program
接下来就是搜索 <title> 和 </title>,然后把中间的内容提取出来。再到后边的 tr -d 就不清楚了。。。
还有一开始的 dd  也不明白。。。感觉有点乱。。。希望本人解释一下?:)。 :thanks
回复 支持 反对

使用道具 举报

发表于 2006-6-21 12:17:42 | 显示全部楼层
还是有问题的,<title>未必就在行首,<title></title>未必就在一行。tr是去除空格,但其它不适合作为文件名的符号呢?

前面的dd我也看不懂。

为什么取前八行,title超出前八行的很多,论坛就是一个例子。
回复 支持 反对

使用道具 举报

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

本版积分规则

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