Поиск всех видов расширений, на которые есть ссылки в html-файле

0

Вот моя проблема:

Существует папка со многими html и текстовыми файлами. Мне нужно рекурсивно пройти через каждый из них и найти все виды расширений файлов, на которые ссылаются эти файлы html/text, такие как.jpg,.tif,.png и т.д.

Проблема в том, что у меня нет определенного списка расширений, которые я хочу найти.

Каким будет лучший способ достичь этого с помощью сценария оболочки?

Придумать Reg-ex, который будет по существу искать все вхождения точки, за которой следует 3 или 4 буквы, и отфильтровывать те, которые заканчиваются пробелом или запятой, или цитата и т.д.?

Любые предложения будут полезны.

Теги:
grep

1 ответ

1
Лучший ответ

Вы можете использовать сценарий оболочки для анализа имени файла с помощью регулярного выражения, но прямолинейная версия довольно проста:

$ 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
  • 0
    Я думаю, что имена файлов, которые OP ищет для анализа, находятся внутри html и txt файлов, которые возвращает ls -1 . Удачи.
  • 0
    Я ищу, чтобы разобрать внутри HTML и текстовые файлы, а не имя файла. Пожалуйста посоветуй.
Показать ещё 8 комментариев

Ещё вопросы

Сообщество Overcoder
Наверх
Меню