ssed -R versus perl -pe

1

Se você quiser um sed com expressões regulares no estilo do perl, parece que há duas maneiras de fazê-lo:

ssed -R
perl -pe

Existe alguma razão para preferir uma ferramenta sobre a outra para esse propósito? Ambos suportam o sinalizador -i. Eu suponho que eles usam a mesma biblioteca de expressão regular perl e, portanto, provavelmente teriam desempenho semelhante e recursos e bugs idênticos. Parece bastante incomum que o perl não seja instalado em uma máquina unix moderna.

    
por Ben Crowell 10.11.2015 / 20:38

1 resposta

4

ssed é um binário muito menor que perl . /usr/bin/ssed é 123K com o PCRE vinculado estaticamente. /usr/bin/perl é 1.7M e isso não inclui nenhum dos módulos padrão instalados com ele.

ssed poderia caber em uma pequena distribuição, ou uma ISO de recuperação / instalação, enquanto perl talvez não. É difícil ver o ponto, porém, porque PCRE é na maior parte apenas uma conveniência - sem muito trabalho extra, regex básico ou estendido no comum sed pode fazer mais do que o PCRE faz ... e isso salvaria outros 123K de espaço.

De menor importância, ssed também é provavelmente mais rápido que perl , pelo menos na sobrecarga de inicialização. Compilar um script perl não é exatamente rápido. Isso provavelmente é significativo apenas em scripts de shell com loops for / while que chamam repetidamente ssed ou perl.

    
por 10.11.2015 / 21:59

Tags