Это немного сложнее, поскольку -n
и -p
подходят лучше всего для обработки одной строки за раз, в то время как вам нужно объединить несколько строк, а это значит, что вам придется некоторое время поддерживать состояние.
Так что просто прочитайте весь файл в памяти и примените регулярное выражение следующим образом:
perl -lwe ^
"local $/; local $_ = <>; print join q( ), split /\n/ for m/^\(Type [^(]*/gsm"
Подайте файл в эту прогу на STDIN, используя перенаправление ввода (<
).
Обратите внимание, что этот синтаксис предназначен для командной строки Windows.Для Bash используйте одинарные кавычки, чтобы процитировать скрипт.