Linux shell脚本,用于检查文件夹中的图像是否正被一组HTML文件使用

Linux shell脚本,用于检查文件夹中的图像是否正被一组HTML文件使用,linux,shell,filenames,Linux,Shell,Filenames,前一段时间,我在一个开发了一系列教育软件的团队中工作,现在他们被审查是否有bug和更新。 在这个过程中,我注意到文件夹“imgs”积累了太多的文件。可能是其中一位开发者决定将每个软件使用的所有图像都包含在文件夹中。但是,由于软件太多,手动检查所有软件会非常痛苦(有些图像是布局的一部分,几乎看不见) 有没有办法在Linux中编写一个shell脚本来检查给定文件夹中的文件是否被另一个文件夹中的一组HTML和JS文件使用?不可能检查通用情况,因为HTML和Javascript是两个动态的(例如,Jav

前一段时间,我在一个开发了一系列教育软件的团队中工作,现在他们被审查是否有bug和更新。 在这个过程中,我注意到文件夹“imgs”积累了太多的文件。可能是其中一位开发者决定将每个软件使用的所有图像都包含在文件夹中。但是,由于软件太多,手动检查所有软件会非常痛苦(有些图像是布局的一部分,几乎看不见)


有没有办法在Linux中编写一个shell脚本来检查给定文件夹中的文件是否被另一个文件夹中的一组HTML和JS文件使用?

不可能检查通用情况,因为HTML和Javascript是两个动态的(例如,Javascript代码可以在文件上创建图像文件名)。同样,可以在CSS样式表、内联样式等中指定图像

您希望查看HTML/JS文件,并查看是否可能识别实际用于指定图像的标记。这有望减少需要提取的XML标记和属性名称的数量


另一种选择是,如果您可以访问服务器的“访问日志”,您可以找出随着时间的推移访问了哪些图像,并将搜索重点放在日志文件中未引用的图像上。

无法检查通用情况,因为HTML和Javascript是两种动态的(例如,Javascript代码可以在文件上创建图像文件名)。同样,可以在CSS样式表、内联样式等中指定图像

您希望查看HTML/JS文件,并查看是否可能识别实际用于指定图像的标记。这将有望减少需要提取的XML标记和属性名称的数量


或者,如果您有权访问服务器的“访问日志”,您可以找出随时间推移访问了哪些图像,并将搜索重点放在日志文件中未引用的图像上。

我不确定我是否正确理解了您的问题, 但也许这会对你有所帮助

ls -1 your_source_path | while read file
do
    grep -wnr "$file*" your_destination_path ||  
            echo "no matching for file $file"
            # you can set any extra action here 

done

在源路径中,您将director from hi置于其中,它将列出所有文件名和他应该搜索的目标。

我不确定我是否正确理解了您的问题, 但也许这会对你有所帮助

ls -1 your_source_path | while read file
do
    grep -wnr "$file*" your_destination_path ||  
            echo "no matching for file $file"
            # you can set any extra action here 

done

在源路径中,您将director from hi置于其中,它将列出所有文件名和他应搜索的目标。

转到“图像”文件夹并尝试此操作

for name in *; { grep -ril $name /path/to/soft/* || echo "$name not used"; }

转到“图像”文件夹并尝试此操作

for name in *; { grep -ril $name /path/to/soft/* || echo "$name not used"; }

这就是我要找的东西。谢谢!我还需要两样东西:1)递归地创建grep检查文件夹;2) 使grep找不到任何匹配项时更容易识别。这可能吗?是的,他已经在目标端递归地检查文件夹了。如果他发现了什么,您应该在输出中看到文件的完整路径和行号。如果找不到任何匹配项,创建一些警报会很简单吗?当然,您可以始终使用或(| |)作为示例。我修改了我的例子,希望你能自己完成剩下的。这就是我要找的东西。谢谢我还需要做两件事:1)递归地创建grep检查文件夹;2) 使grep找不到任何匹配项时更容易识别。这可能吗?是的,他已经在目标端递归地检查文件夹了。如果他发现了什么,您应该在输出中看到文件的完整路径和行号。如果找不到任何匹配项,创建一些警报会很简单吗?当然,您可以始终使用或(| |)作为示例。我修改了我的例子,我希望你能自己完成剩下的。就是这样!非常感谢你!!就是这样!非常感谢你!!