查找html文件中引用的各种扩展

时间:2014-02-12 00:24:18

标签: html regex bash unix grep

这是我的问题陈述:

有一个包含许多html和文本文件的文件夹。我需要以递归方式遍历其中的每一个,并找到这些html /文本文件中引用的各种文件扩展名,如.jpg,.tif,.png等

问题是我没有我想要搜索的扩展名列表。

使用shell脚本实现此目的的最佳方法是什么?

提出一个Reg-ex,它基本上会搜索所有出现的点后跟3或4个字母,并过滤掉那些以空格或逗号或引号等结尾的点?

任何建议都会有所帮助。

1 个答案:

答案 0 :(得分:1)

您可以使用shell脚本使用正则表达式解析文件名,但直接版本非常简单:

$ cat *.{txt,html} | grep -oP '\b[A-Za-z0-9_]+\.[A-Za-z0-9]{1,4}\b' | awk -F. '{ print "." $(NF) }' | sort -u

对于递归搜索:

find . -name '*.txt' -or -name '*.html' -exec grep -oP '\b[A-Za-z0-9_.]+\.[A-Za-z0-9]{1,4}\b' {} \; |  awk -F. '{ print "." $(NF) }' | sort -u