|
发表于 2010-8-19 22:21:37
|
显示全部楼层
- find ./ -type f -name "*.html"
复制代码 查找所有.html文件
通过管道用while读入查找到的文件名,赋给变量a,(每次读入一行,若文件名里包含换行符会出错!)用mv命令改名留下路径名,(删除最后一下/以及之后的字符)- $(sed -n '/<title>/s,^.*<title>\| *-[^-]*</title>.*$,,gp' "$a").html";
复制代码 -n表示不自动输出内容,
/<title>/含有<title>的行,
s,,,gp就是s///gp替代,替代内容为空就是删除,g是重复替代,p是打印(输出)
^.*<title>从行的起始到<title>为止的所有字符
\|或者
*-[^-]*</title>.*$ </title>前的最后一个-(包括它前面的所有空白)一直到</title>再到行末的所有字符循环结束 |
|