1
Мне нужна помощь в написании следующего. Если текущая строка начинается с #STOP#
, а предыдущая строка также начинается с "#STOP#"
, тогда просто распечатайте строку. Если текущая строка начинается с "#STOP#"
, а предыдущая строка также начинается с "MSG#"
, конкатенируйте предыдущую строку с текущей строкой.Объединение предыдущей строки с текущей строкой в соответствии с условием
входного файла:
#STOP# |package1| function1
#STOP# |package2| function2
#MSG# |package3| SQL1
#STOP# |package4| MapperBean
#MSG# |package3| SQL2
#STOP# |package4| MapperBean
#STOP# |package4| MapperBean
#STOP# |package5| ActionItem
Желаемый результат:
#STOP# |package1| function1
#STOP# |package2| function2
#STOP# |package4| MapperBean #MSG# |package3| SQL1
#STOP# |package4| MapperBean #MSG# |package3| SQL2
#STOP# |package4| MapperBean
#STOP# |package5| ActionItem
Вы можете удалить скобки, но это может быть какой-то менее читаемым. '{print $ 0, msg? msg:" "; msg =" "}' – Jotne
@ Заявление jotne становится двусмысленным ... 'Gawk' будет в порядке,' BSD awk' будет жаловаться. Более безопасный и читаемый с нулевой выгодой. –
Ahh, приятно знать :) – Jotne