Jak zastąpić sparowane nawiasy kwadratowe inną składnią za pomocą sed?

Chcę zastąpić wszystkie pary nawiasów kwadratowych w pliku, np.[some text], z\macro{some text}np .:

This is some [text].
This [line] has [some more] text.

Staje się to:

This is some \macro{text}.
This \macro{line} has \macro{some more} text.
Pary występują tylko w pojedynczych liniach, nigdy w wielu liniach.Czasami może być więcej niż jedna para na jednej linii, ale nigdy nie są zagnieżdżone.Jeśli nawias zostanie znaleziony sam na linii, bez pary, nie należy go zmieniać.

Jak mogę zastąpić te pary nawiasów tym kodem?

questionAnswers(4)

yourAnswerToTheQuestion