Frage Bash-Befehl für die Substitution regulärer Ausdrücke


Welcher bash-Befehl kann für die Regex-Substitution in einer Pipe verwendet werden?

     cat foo.txt | someprogram

5
2018-06-15 09:39


Ursprung




Antworten:


Du willst wahrscheinlich

sed 's/exp1/exp2/g' foo.txt > foo2.txt

Lesen Sie mehr unter Sed Tutorial, Ein anderes Tutorial, und Ein kleines Tutorial zu Linux HOWTOs


11
2018-06-15 09:43



sed ist nicht nur ein Programm, es ist eine Art zu leben. - Joseph Kern


Sie können auch verwenden Perl Liner Wenn Sie feststellen, dass Sie mehr reguläre Ausdrücke wünschen, als sed bietet. Sieh dir das an Verknüpfung für einen Vergleich. Niks Beispiel würde aussehen:

perl -ple 's/exp1/exp2/g' foo > foo2.txt

4
2018-06-15 11:40



Ich habe vor kurzem Perl -pe entdeckt, und es ist großartig, eine viel mächtigere Regex-Engine zur Verfügung zu haben :) - Rory


Das Programm, das Sie suchen, ist sed.


1
2018-06-15 09:40