LinuxSir.cn,穿越时空的Linuxsir!

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

可否自动重命名?

[复制链接]
发表于 2006-1-12 15:34:47 | 显示全部楼层 |阅读模式
我下载了几百个网页,文件名为 1~199.htm
但这样查看不方便,我想把它们全部重命名为网页标题,至少也弄出一个网页标题的列表

在linux下有没有命令可以将网页的标题显示出来而不用启动浏览器的?

假设这个命令是showtitle,我就是想这样用
$cd  htmsaved
$showtitle * > titlelist.txt
$ll > filenamelist.txt

然后将titlelist和filenamelist.txt两个文件对比起来查看

如果有自动重命名的方法,那最好了
windows下的软件也行

哪位大哥知道,请指教
发表于 2006-1-12 16:51:55 | 显示全部楼层
这个问题在shell版发比较好,帮你转过去:)
回复 支持 反对

使用道具 举报

发表于 2006-1-12 21:33:51 | 显示全部楼层
好玩,需求是发展的动力;
用for title in dir; do
echo $title >filelist
grep title $title |  去掉 title的标注 >filelist
done
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 01:59:03 | 显示全部楼层
我之前没有学过shell编程,今天现学现用了一下
并在linux_now的指导下,我用如下的一个命令:

  1. #cd  htmlsaved
  2. # for title in * ;do echo $title ;cat $title |grep "<title>" ;done;
复制代码


得到了基本上满意的结果:

  1. 1.htm
  2. <title>xzn_html_tree(1.0) 可折叠大纲 -- 最大的IT资源网</title>
  3. 10.htm
  4. <title>分页类 -- 最大的IT资源网</title>
  5. 100.htm
  6. <title>如何过滤高亮显示非法字符 -- 最大的IT资源网</title>
  7. 101.htm
  8. <title>Win32下具体实现Apache的用户验证 -- 最大的IT资源网</title>
  9. 102.htm
  10. <title>php:用序列化或session对象让oo进行到底 -- 最大的IT资源网</title>
  11. 103.htm
  12. <title>php输出控制类 -- 最大的IT资源网</title>
  13. 104.htm
  14. <title>通过ICQ网关发送手机短信的PHP源程序 -- 最大的IT资源网</title>
  15. 105.htm
  16. <title>使用MySQL内建复制功能来最佳化可用性 -- 最大的IT资源网</title>
  17. 106.htm
  18. <title>PHP数据加密 -- 最大的IT资源网</title>
  19. 107.htm
  20. <title>使用PHP实现登陆验证码 -- 最大的IT资源网</title>
  21. 108.htm
  22. <title>用PHP解析XSL -- 最大的IT资源网</title>
  23. 109.htm
  24. <title>用PHP做一张xbm图片 -- 最大的IT资源网</title>
  25. 11.htm
  26. <title>封装对文章的各种操作(插入数据库、从数据库取出等等) -- 最大的IT资源网</title>
  27. 110.htm
  28. <title>PHP变量的使用 -- 最大的IT资源网</title>
复制代码

实际上非常之长,我省略了后面的部分

基本上满足了要求,谢谢各位.
但大家也看到了输出结果并不美观,"<title>" 及"- 最大的IT资源网</title>"
是多余的,前面的一个<title>我知道可以用cut将其去除,目前我还不知道后面的那个多余的部分如何去除,还请指点

Post by linux_now

grep title $title |  去掉 title的标注 >filelist
done

如何"去掉 title的标注"??
回复 支持 反对

使用道具 举报

发表于 2006-1-13 03:20:16 | 显示全部楼层
sed -e 's:-- 最大的IT资源网</title>::'  -e 's:<title>::' test

test是 ”得到了基本上满意的结果“ 的内容。
一个文件,一行,就是:
  1. 1.htm <title>xzn_html_tree(1.0) 可折叠大纲 -- 最大的IT资源网</title>
复制代码
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-1-13 14:41:43 | 显示全部楼层

这回好多了

学习了一下sed命令的用法,并在大哥们的指导下,写了如下一个sh.

  1. #!/bin/sh

  2. cd      /mnt/e/txt/php/教程
  3. for file in *.htm
  4. do
  5.         echo -e "<br>" >>index.html
  6.         echo -e "<a href=$file>$file</a>\c" >>index.html
  7.         cat $file |grep "<title>"|sed -e 's#<title>#  ----  #g' -e 's#-- 最大的IT资源网</title>##' -e 's#<#《#g' -e 's#>#》#g' >>index.html
  8. done

复制代码


如果如图
需要注意的是我将标题中的<,>分别换成了中文的书名号.
因为我开始没有这么做,发现有一个标题中有<select>,导致opera 8.5无法正常显示

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有帐号?注册

x
回复 支持 反对

使用道具 举报

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

本版积分规则

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