很多时候用dreamweaver或者是本地浏览的一些html网页,它们的css和js路径会写成style/style.css这种形式,在本地和服务器上当做静态资源是可以正常访问的,但是一旦运行tomcat服务器当做动态资源访问就会悲剧了,网页找不到css和js文件。唯一的办法就是修改引入css和js文件的写法,改成相对路径或者绝对路径,但是手动修改工作量如果比较大就太苦逼了,下面介绍一种程序进行修改路径的办法。
首先你得先安装cygwin,然后打开cygwin切换到你要修改的工程目录。
然后运行命令:sed s@需要被修改的路径@正确的路径@g `find . -name "*.html"`
find前面和html"后面的符号是键盘上的波浪号那个键,表示引用此命令的结果。
比如说想要把每个html文件里的<link type="text/css" rel="stylesheet" rev="stylesheet"href="/project/style/style.css" media="all"> 中的href="style/style.css"修改为href="/project/style/style.css"
则输入命令 :sed s@href=\"style\/style.css\"@href=\"/project/style/style.css\"@g `find . -name "*.html"` 就可以看到所有html文件将要修改后的样子(注意,这里的\是转义字符,在style\/style.css中的是正斜线和反斜线,不是大写的V)
再在命令上添上-i选项就可以再文件里直接修改了
sed -i s@href=\"style\/style.css\"@href=\"/project/style/style.css\"@g `find . -name "*.html"`
至此,html文件就全部修改好了,不用再一个一个文件费力的去改了。
不过如果文件名带有空格的话,该方法是修改不了该文件的。但是一般的文件都不带空格,所以这个方法还是很有用的。