У меня есть некоторый текст в файле someText.txt
{
someOtherTexts
debug {
minifyEnabled true
shrinkResources false
{
other
}
}
release {
print()
}
}
Как мне скопировать содержимое в закрытии отладки и переместить его в закрытие релиза, которое будет показано ниже.
{
someOtherTexts
debug {
minifyEnabled true
shrinkResources false
{
other
}
}
release {
minifyEnabled true
shrinkResources false
{
other
}
print()
}
}
Я пробовал с
#search the next two lines after match
qaConfig=$(awk '/qa {/{x=NR+2;next}(NR<=x){print}' ./someText.txt)
#append after match
sed -i '' "/release {/a\\
${qaConfig}" ./someText.txt
Но выдает ошибку
sed: 3: "/release {/a\
...": invalid command code T
Любые подходы приветствуются.
Обновлено: в режиме реального Случай, у меня фактически есть внутренняя скобка в моем файле, поэтому я добавил ее и в мой пример. Вот почему мне пришлось go с фиксированным числом после совпадения.
обновлено: Спасибо за ваши решения, теперь все становится немного сложнее. Я должен добавить скобку вокруг всего текста. Есть ли способ справиться с этим тоже? спасибо