cat `find . -name '*.css'`
这将打开任何css文件。我现在做了两件事。
1)如何在此添加* .js。所以我想查看所有css和javascript文件。
2)我想在那些(css或js文件)中查找任何css或图像文件并将它们推入数组中。所以我想找一个.png,.jpg,.gif,.tif,.css并把所有内容放在那之前,直到引号或单引号进入数组。我想要一个数组,因为这个命令将进入一个shell脚本,在我得到我需要的所有文件名后,我需要循环并稍后下载这些文件。
任何帮助都将不胜感激。
答案 0 :(得分:2)
额外的hackery,以防有人需要它:
find ./ -name "*.css" | xargs grep -o -h -E '[A-Za-z0-9:./_-]+\.(png|jpg|gif|tif|css)'| sed -e 's/\.\./{{url here}}/g'|xargs wget
将下载每个缺失的资源
答案 1 :(得分:1)
执行命令:
find ./ -name "*.css" -or -name "*.js" > fileNames.txt
然后读取循环中的每行fileNames.txt并下载它们。
或者,如果您打算使用wget下载可以执行的图像:
find ./ -name "*.css" -or -name "*.js" | xargs grep '*.png' | xargs wget
在cut
之后可能需要像grep
那样进行一些改进,但你明白了
答案 2 :(得分:1)
1)简单回答:您可以通过指示cat
找到更多文件,将所有.js文件的名称添加到find
命令中:
cat `find . -name '*.css' -or -name '*.js'`
2)grep
之类的文字搜索工具可能就是你所追求的:
find . -name '*.css' -or -name '*.js' | xargs grep -o -h -E '[A-Za-z0-9:./_-]+\.(png|jpg|gif|tif|css)'
注意:我的grep模式不是通用的或完美的,但它是一个开始的例子。它匹配任何包含字母数字,冒号,点,斜线,下划线或连字符的字符串,后跟任何一个给定的扩展名。
-o
选项导致grep只输出与模式匹配的.css / .js文件的部分(即只显示明显的文件名)。
如果要下载它们,可以在命令中添加| xargs wget -v
,这将指示wget
获取所有这些文件名。
注意 :这不适用于相对文件名;还需要一些其他魔法(即你必须根据grepped文件的位置解决它们)。也许是一些额外的hackery,例如sed
或awk
。
另外:你经常在CSS / JS中看到对TIFF的引用吗?