简单即是美,简单而强大为优雅。

这篇书评可能有关键情节透露
问题: 如何创造一个远程站点的本地镜像?
答案:
wget --mirror -A.shtml http://news.sina.com.cn/
* wget: cygwin的一个命令。
* --mirror: 在当前目录创建指定网站的镜像
* -A.shtml: 只下载shtml的文件
类似这样简单而威力强大的工具,在cygwin下有很多,如果是windows下的程序员,有机会的情况下,应该认真学习一下这些东西,可以在很短时间内“拼出”功能很强大的应用程序来。
例如我现在正在做的一个小项目,原来3个人的小组用6周,我一个人用5天完成,而且不是全部的工作内容。常用的工具有这些:
* shell: bash, pipe
* grep, find
* sed, awk
* python语言
下一个问题:如果要你在当前目录下找出所有的shtml文件,然后将文件扩展名改为html,应该怎么做?
答案:
find . -name "*.shtml" -exec mv {} {}.html \;
* find: cygwin下的另一个命令,也是所有unix/linux最常用的内容
* . : 当前目录
* -name "*.shtml": 指定递归搜索所有shtml文件
* -exec: 对于找到的每个文件,执行后面的命令
* mv {}.shtml {}.html: {}是展位符,会被find找到的文件名代替。例如:找到文件2006.shtml, 这个命令就会被转成 mv 2006.shtml 2006.html.
* \; 标志-exec的结束。 为了与shell里面的;区别开来,用\转意。
最后一个问题:如果要将所有的shtml里面的<title>内容提取出来,统一输出到title文件中,应该怎样做?
find . -name "*.shtml" -exec cat {} | grep "<title>(?<title>.*)</title>" >> title \;
* 加入了管道
* 用cat, 类似DOS中的type, 将文件内容打印
* 用grep找出<title>中间的内容
* >> 表示在已有的文件末尾添加
优雅吗?
如果你感兴趣的话,非常推荐购买这本书:Unix Power Tools,绝对的经典。
http://blog.donews.com/dongxun/archive/2006/04/19/837143.aspx
答案:
wget --mirror -A.shtml http://news.sina.com.cn/
* wget: cygwin的一个命令。
* --mirror: 在当前目录创建指定网站的镜像
* -A.shtml: 只下载shtml的文件
类似这样简单而威力强大的工具,在cygwin下有很多,如果是windows下的程序员,有机会的情况下,应该认真学习一下这些东西,可以在很短时间内“拼出”功能很强大的应用程序来。
例如我现在正在做的一个小项目,原来3个人的小组用6周,我一个人用5天完成,而且不是全部的工作内容。常用的工具有这些:
* shell: bash, pipe
* grep, find
* sed, awk
* python语言
下一个问题:如果要你在当前目录下找出所有的shtml文件,然后将文件扩展名改为html,应该怎么做?
答案:
find . -name "*.shtml" -exec mv {} {}.html \;
* find: cygwin下的另一个命令,也是所有unix/linux最常用的内容
* . : 当前目录
* -name "*.shtml": 指定递归搜索所有shtml文件
* -exec: 对于找到的每个文件,执行后面的命令
* mv {}.shtml {}.html: {}是展位符,会被find找到的文件名代替。例如:找到文件2006.shtml, 这个命令就会被转成 mv 2006.shtml 2006.html.
* \; 标志-exec的结束。 为了与shell里面的;区别开来,用\转意。
最后一个问题:如果要将所有的shtml里面的<title>内容提取出来,统一输出到title文件中,应该怎样做?
find . -name "*.shtml" -exec cat {} | grep "<title>(?<title>.*)</title>" >> title \;
* 加入了管道
* 用cat, 类似DOS中的type, 将文件内容打印
* 用grep找出<title>中间的内容
* >> 表示在已有的文件末尾添加
优雅吗?
如果你感兴趣的话,非常推荐购买这本书:Unix Power Tools,绝对的经典。
http://blog.donews.com/dongxun/archive/2006/04/19/837143.aspx