Таким образом, вы хотите соединить строки, не начинающиеся с File_Name
, с предыдущей строкой?
В sed
вы используете шаблон N;P;D
для такого рода задач:
sed 'N;/\nFile_Name/!s/\n/ /;P;D' abc.txt
N
добавляет следующую строку в пространство шаблонов /\nFile_Name/
обращается ко всем строкам с File_Name
после новой строки; !
инвертирует выделение, поэтому следующая команда выполняется только в том случае, если вторая строка из двух строк в пространстве шаблонов не начинается сFile_Name
s/\n/ /
заменяет новую строку между строками пробелом P
печатает первую строку в пространстве шаблонов D
удаляет все до новой строки и начинает новый цикл со второй строкой, все еще находящейся в пространстве шаблона (к следующей строке добавляется новая пара строк)Обратите внимание, что это работает только для соединения двух строк. Если строки можно разбить на несколько строк, нам нужно добавить цикл или сделать это по-другому.