Eingabe mit Cut oder Awk ausschneiden?

Eingabe mit Cut oder Awk ausschneiden?

Ich versuche im Grunde, die Roh-IRC-Eingabe mit einem Bash-Skript zu analysieren, und ich möchte die Nachrichten erfassen und sonst nichts. Ein Beispiel für das, was ich zu speichern versuche, ist

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

Also dachte ich, das wäre in Ordnung und ich könnte für die Herausforderung einfach „cut“ verwenden. Ich benutzte es weiter, cut -d ':' -f3stellte aber bald fest, dass, wenn ein Benutzer etwas mit einem „:“ darin postete, dies die „Analyse“ ruinierte. Wie könnte ich sonst vorgehen, um nur die Nachricht zu erhalten?

Antwort1

Sie können einenReichweitevon Feldern. Um von Feld 3 zum Ende zu gelangen: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

verwandte Informationen