Если строка заканчивается на =, добавьте к ней следующую строку (sed) - PullRequest
0 голосов
/ 15 мая 2018

У меня возникли проблемы с использованием этого регулярного выражения правильно (в bash).

Если строка в текстовом файле заканчивается на =, она должна добавить следующую строку к нему.

Я попробовал это с: sed -e: a -e '/ \ $ / N;s / = \ п //;ta '

Но так не получается, кто-нибудь, кто может мне помочь?

Большое спасибо.

Ответы [ 2 ]

0 голосов
/ 15 мая 2018

Это может сработать для вас (GNU sed):

sed ':a;N;s/=\n/=/;ta;P;D' file

Оставьте не более двух строк в пространстве шаблона, а если первая оканчивается на =, соедините ее со второй и повторите.

0 голосов
/ 15 мая 2018

С Perl вы можете сделать:

perl -pe 's/=\n/=/g' inputfile

Пример ввода:

line1                                                                           
line2=                                                                          
line3                                                                           
line4=                                                                          
line5=                                                                          
line6          

Выход:

line1
line2=line3
line4=line5=line6
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...