Eu precisava encontrar todas as classes, etc, para descobrir o que alguns seletores CSS estavam tentando combinar - usei a seguinte coisa rápida (funciona com a versão do Bash do Fedora 21):
grep -Eoih class\=\"[^\"]*\" index.html | sed -e 's/"//g' -e 's/class=//g' | tr " " "\n" | sort -u
Substitua class por id por IDs
Qual:
-
grep -E- Regexp estendido (provavelmente não necessário),-o- mostra apenas correspondência,-isem distinção entre maiúsculas e minúsculas,-hnão imprime nomes de arquivos (para vários arquivos). - Entre
class\=\"e", corresponde tudo que não é um" -
sed- remove"e 'class=" -
tr- Substitua espaços por novas linhas -
sort- Ordena e remove dupes
É muito limitado (por exemplo, é projetado para itens que usam " quotes).
Para remover o excesso de CSS, sugiro usar uncss , que remove o CSS não usado para que você não precise fazer manualmente.
Você pode instalá-lo via npm install -g uncss e usá-lo assim (para mais opções use uncss --help ):
uncss ./index.html > new-css.css
Anote os arquivos HTML etc para encontrar o javascript, classes e ids usados, então você precisa fornecer o HTML como entrada.