Резка ввода с разрезом или awk?

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

:user!~name@host.name PRIVMSG #channel :this is the message

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

1 ответ

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

$ line=':user!~name@host.name 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
Другие вопросы по тегам