Если у вас есть большая часть файлов, с которыми вы хотите это сделать, то, вероятно, вы захотите написать скрипт в HLL с приличным парсером HTML (я рекомендую Python с lxml или BeautifulSoup), изатем запустите его над своим кодом.
В psuedo python:
css = {}
with(open(argv[1]) as htmlfile):
for element in HTMLParser.parse(htmlfile):
if element.hasAttributes(['style', 'id']):
css[element.attribute('id')] = element.attribute('style')
out = ''
for id, style in css.iteritems():
out += '#%s {' % id
out += ";\n".join(style.split(';')
out += "\n}\n"
open(argv[1] + "-new.css", 'w').write(out)
Затем, если у вас есть доступ к инструментам Unix, что-то вроде find /path/to/html/root -name "*html" -exec /path/to/your/script {} \;
запустит его для всех ваших файлов.Возможно, вы могли бы выполнить всю эту задачу в качестве единственного участника с sed, если бы вы действительно этого хотели.
О, вам нужно выполнить это на стороне клиента?Ну, вы можете сделать почти то же самое, что и псевдокод, описанный выше в jQuery, кроме записи файла (вы будете писать элемент стиля в dom, и вам нужно будет использовать методы jQuery для выбора элементов и тестирования дляатрибуты), хотя я не совсем понимаю, почему вы хотите сделать это на стороне клиента .