Я хотел бы удалить первую пустую строку после совпадения с шаблоном в файле с помощью sed.
Например, если бы я пытался сопоставить файл ниже на b:
a
b
c
d
результатом будет:
a
b
c
d
Я пробовал варианты следующего: sed -i '/b/,/^$/{//d}' FILE
.
Я предлагаю с GNU sed:
sed -i '/b/,/^$/{ /^$/d }' file
Выход:
a b c d
Это может сработать для вас (GNU sed):
sed '/b/{:a;n;/^$/d;ba}' file
Найдите b
, затем распечатайте/извлеките строки до пустой строки и удалите ее.
Было бы здорово иметь объяснение: a, n и ba.
Есть ли какая-то ссылка на этот материал, который вы считаете особенно хорошим?
@john-jones попробуйте здесь в частности здесь
Вы уже были очень близки к решению своей попыткой. Пожалуйста.