Применять операции sed только к строкам, начинающимся с определенной строки

У меня есть следующий формат файла

Received from +11231231234 at 2021-10-10T19:56:50-07:00:
This is a message that contains words like from, at, etc.

Sent to +11231231234 at 2021-10-11T06:50:57+00:00:
This is another message that contains words like to, at, etc.

Я хочу очистить строки «Получено» и «Отправлено», следующие команды sed достигают этого

cat file |  sed 's/from//g' | sed 's/to/    /g' | sed 's/+\w\+//' | \ 
sed 's/at//g' | sed 's/T/ /g' | sed 's/[[:digit:].]*\:$//' | \ 
sed 's/[[:digit:].]*\:$//' | sed 's/-$//' | sed 's/-$//' | sed 's/+$//'

и приводят к следующее

Received    2021-10-10 19:56:50
This is a message that contains words like  ,  , etc.

Sent        2021-10-11 06:50:57
This is another message that contains words like  ,  , etc.

Как вы можете видеть, он хорошо очищает строки «Получено» и «Отправлено». Но это также очищает строки сообщений! Как я могу применить эти операции только к строкам, начинающимся с «Получено» и «Отправлено»?

1
задан 2 December 2021 в 19:02

0 ответов

Другие вопросы по тегам:

Похожие вопросы: