Ich arbeite mit einem Text, der voll ist mit Dingen in Klammern [], die ich nicht will. Da ich die Klammern selbst löschen kann, brauche ich keinen Einzeiler, um das für mich zu tun, aber ich brauche einen Einzeiler, der alles zwischen ihnen entfernt.
Was ist mit Klammern () anstelle von Klammern?
quelle
s/\[[^\[\]]*\]//g
(dh Backslashes verwenden, um den Mitgliedern des Zeichensatzes zu entgehen).[…]
= Zeichensatz.^
als erstes Zeichen bedeutet, die Menge zu ergänzen.]
würde normalerweise das Ende des Satzes markieren, aber wenn es das erste andere Zeichen als ist^
, ist es ein gewöhnliches Zeichen - ein leerer Satz oder die Ergänzung des leeren Satzes ist nicht zulässig. Dann[
ist normal und]
beendet den Satz.Der Befehl
sed -e 's/([^()]*)//g'
macht Klammern anstelle von Klammern.quelle