grep -ioE "(url\(|src=)['\"]?[^)'\"]*" a.html | grep -ioE "[^\"'(]*.(jpg|png|gif)" | while read l ; do sed -i "s>$l>data:image/${l/[^.]*./};base64,`openssl enc -base64 -in $l| tr -d '\n'`>" a.html ; done;
Эта команда выполняет следующие действия:
1. grep -ioE "(url\(|src=)['\"]?[^)'\"]*" a.html ищет все ссылки на изображения и URL в файле a.html, игнорируя регистр, используя регулярные выражения. Эта часть команды извлекает все строки, которые начинаются с «url(» или «src=» и захватывают содержимое внутри кавычек или скобок.
2. grep -ioE "[^\"'(]*.(jpg|png|gif)" фильтрует найденные строки, оставляя только строки, которые заканчиваются на .jpg, .png или .gif.
3. while read l ; do sed -i "s>$l>data:image/${l/[^.]*./};base64,openssl enc -base64 -in $l| tr -d ‘\n’>" a.html ; done; берет каждую найденную ссылку на изображение и заменяет ее содержимое на Base64-кодированное изображение, встроенное непосредственно в HTML файл.
Эта команда полезна для вставки изображений непосредственно в HTML файлы, что может уменьшить количество HTTP-запросов. Альтернативой может быть использование инструментов для сжатия изображений и CDN для ускорения загрузки.
