find . -name '*.html' -exec 'sed' 's/.*class="\([^"]*\?\)".*/\1/ip;d' '{}' ';' |sort -su
Команда find . -name '*.html'
ищет все файлы с расширением «.html» в текущей директории и ее поддиректориях. -exec
используется для выполнения команды на найденных файлах.
Команда sed 's/.*class="\([^"]*\?\)".*/\1/ip;d' '{}'
используется для поиска и извлечения всех классов HTML-элементов из каждого найденного файла. Этот шаблон заменяет строку на значение в двойных кавычках после class=
.
|
используется для передачи вывода предыдущей команды к следующей команде.
Команда sort -su
сортирует и удаляет повторяющиеся строки из вывода предыдущей команды.
Альтернативы: можно вместо sed
использовать awk
или другие инструменты для обработки текста.