Резка ввода с разрезом или 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