Вырезание ввода с помощью cut или awk?

Вырезание ввода с помощью cut или awk?

Я в основном пытаюсь разобрать сырой IRC-вход с помощью скрипта bash и хочу получить сообщения и ничего больше. Пример того, что я пытаюсь сохранить, это

:[email protected] PRIVMSG #channel :this is the message

Итак, я подумал, что это было бы нормально, и я мог бы просто использовать 'cut' для испытания. Я продолжал использовать, cut -d ':' -f3но вскоре обнаружил, что если пользователь публикует что-то с ':' внутри, это портит 'parsing'. Как еще я мог бы получить только сообщение?

решение1

Вы можете указатьдиапазонполей. Чтобы добраться от поля 3 до конца:cut -d: -f3-

$ line=':[email protected] PRIVMSG #channel :this is the message: all of it'
$ echo "$line" | cut -d: -f3
this is the message
$ echo "$line" | cut -d: -f3-
this is the message: all of it

Связанный контент