0
cat `find . -name '*.css'`

这将打开任何 css 文件。我现在做什么两件事。

1)如何将 *.js 添加到此。所以我想查看所有 css 和 javascript 文件。

2)我想在这些(css或js文件)中查找任何css或图像文件并将它们推送到数组中。所以我想寻找一个 .png、.jpg、.gif、.tif、.css 并将其之前的所有内容放入数组中,直到引号或单引号。我想要一个数组,因为这个命令将进入一个 shell 脚本,并且在我得到我需要的所有文件的名称之后,我需要循环并稍后下载这些文件。

任何帮助,将不胜感激。

4

3 回答 3

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

将下载所有丢失的资源

于 2012-12-01T19:14:04.550 回答
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但你明白了

于 2011-07-07T14:30:51.297 回答
1

1)简单的答案:您可以cat通过指示find查找更多文件来将所有 .js 文件的名称添加到您的命令中:

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 文件的位置来解决它们)。也许是一些额外的黑客,例如sedor awk

另外:您多久会在 CSS/JS 中看到对 TIFF 的引用?

于 2011-07-07T14:44:48.803 回答