Je suis heureux que grep
prenne en charge les expressions régulières compatibles Perl avec l’option -P
.
Y a-t-il une raison pour laquelle l'outil sed
ne possède pas cette fonctionnalité?
Dans le cas de GNU Sed, le raison indiquée semble être
J'avais peur qu'il tombe dans l'une de ces "fissures" ... bien que d'après ce qui a été dit à l'époque, une partie du travail était déjà terminée et cela ressemblait à une affaire de docs et d'emballage ... (bien que j'avoue , en informatique, les derniers 10% du travail prend souvent 90% du temps ...
Voir Journaux de rapport de bogue GNU - Statut # 22801 sur la modification validée: mise à niveau des 'sed' RE pour y inclure la syntaxe perlRE - ou recherchez dans le sed-devel Archives "PCRE" si vous veux plus de détails.
N'oubliez pas que vous pouvez utiliser Perl
lui-même pour la plupart des simples lignes simples pour lesquelles vous pouvez utiliser PCRE dans sed
.
Solution de contournement:
Vous pouvez utiliser la liste des déchets pathologiques éclectiques:
Perl -pe 's/../../g' file
ou inline remplace:
Perl -pie 's/../../g' file
Cela fonctionne dans les cas où j'utilise sed
. Si les choses se compliquent, j'écris un petit script python.