Этот скрипт удаляет часовой пояс из полей даты электронного письма:
#!/bin/sed -rf
s/(^Date: (Sun|Mon|Tue|Wed|Thu|Fri|Sat),.*[0-9][0-9]:[0-9][0-9]:[0-9][0-9]) \+0900$/\1/i
Однако я не хочу, чтобы часовой пояс удалялся, если в теле письма появляется дата. Как я могу заставить sed выйти после того, как встретился двойной перевод строки (сигнализирующий об окончании полей заголовка письма)? Как я могу применить замены только к заголовку письма? Возможно ли это в sed? Также будет приемлемо решение awk.
Обновление:
Я понял, как выйти из sed, как я хотел, сопоставив пустую строку:
/^$/q
Однако я действительно не хотел выходить, потому что тело письма тогда не печаталось.