Pracuji s nějakým textem, který je plný věcí v hranatých závorkách [], které nechci. Vzhledem k tomu, že mohu závorky smazat sám, nepotřebuji, aby to udělala za mě jedna vložka, ale potřebuji jedno vložku, která odstraní vše mezi nimi.
A co závorky () místo hranatých závorek?
Přijatá odpověď:
Nahraďte [some text]
podle prázdného řetězce. Za předpokladu, že nechcete analyzovat vnořené závorky, some text
nemůže obsahovat žádné hranaté závorky.
sed -e 's/[[^][]*]//g'
Všimněte si, že v závorce výraz [^][]
aby odpovídala čemukoli kromě [
nebo ]
, ]
musí být první. Obvykle ]
ukončí znakovou sadu, ale pokud je to první znak v sadě (zde za ^
doplňkový znak), ]
stojí sám za sebe.
Pokud chcete analyzovat vnořené závorky nebo pokud text v závorkách může zahrnovat více řádků, sed není ten správný nástroj.