Uma pesquisa rápida no google retorna uma pergunta semelhante em stackoverflow.
Qual é a melhor maneira de retirar todo o código comentários em um determinado diretório? Gostaria de remover todos os // ... EOL
comentários e /* blah \*/
(ou /** ... \*/
) comentários também.
Este é um projeto PHP e eu gostaria de ir um pouco além do que está descrito abaixo, mas para fins de segurança e não de eficiência.
Isso será feito em Perl:
//will delete all comments starting at the beginning of the line with //
perl -p -i -e "s#^//.*$##" <your php file>
//will delete all comments starting somewhere in a line with //
perl -p -i -e "s#^(.*)//.*$#\#" <your php file>
//will delete all comments starting somewhere in a line with /* or /**
perl -p -i -e "s#^(.*)/\*+.*$#\#" <your php file>
//will delete all comments starting at the beginning of the line with /* or /**
perl -p -i -e "s#^/\*+.*$##" <your php file>
Esses comandos não excluem comentários com várias linhas, como
/**
*
*
*/
É possível fazer isso, mas o regex multi-line é muito mais difícil.
Também haverá soluções para o awk, sed, python, ... Mas isso também deve ser feito.