Ich habe einen Text, der so aussieht
text
\centering
more text
Ich möchte es konvertieren in:
text
more text
Perl verwenden
Mein Code ist:
perl -00 -pe 's/\R+\\centering\R+/\n/g' example.md
Es funktioniert überhaupt nicht!
Beachten Sie, dass sowohl diese als auch meine Alternative
perl -00 -pe 's/\\centering/*/g' example.md
die Ausgabe erzeugen
text
*
more text
Und
perl -00 -pe 's/\R+/\n*/g' example.md
produziert
text
*\centering
*more text
Sie funktionieren also einzeln, aber nicht zusammen. Was mache ich hier falsch?!
Antwort1
Nicht 0
als Datensatztrennzeichen verwenden, es ist bequemer zu verwenden777
perl -0777 -pe 's/\R+\\centering\R+/\n/g' example.md
# ^^^
führt zum gewünschten Ergebnis.
AusDokumentation:
Der spezielle Wert 00 bewirkt, dass Perl Dateien im Absatzmodus slurpt. Jeder Wert 0400 oder höher bewirkt, dass Perl Dateien im Ganzen slurpt, aber laut Konvention wird für diesen Zweck normalerweise der Wert 0777 verwendet.