nc -k -l -u 192.0.2.1 514 | awk 'BEGIN{nc="nc -q0 -u 198.51.100.1 514"}{print strftime("<13>%b %d %H:%M:%S bgw320-505 ATT-BGW320: ")$0 | nc; print $0}'
`nc` net cat
`-k` When a connection is completed, listen for another one.
`-l` Listen for an incoming connection rather than initiating a connection to a remote host.
`-u` Use UDP instead of TCP.
`192.0.2.1` & `514` IP & port to listen on.
`awk` Text manipulation tool
`BEGIN{...}` initialization block
`nc="..."` assign the net cat command and parameters to the `nc` variable.
`-q0` after EOF on stdin, wait the specified number of seconds and then quit.
`198.51.100.1` & `514` IP & port to send modified data to.
`print ... | nc` print the output into the command specified in the `nc` variable.
`strftime(...)` create a formatted time string
`<13>` Textual form of encoding of the `user` facility and `notice` level.
`%b` abbreviated month
`%d` day of month with space padding
`%H` hour of day in 0-23
`%M` minute of hour
`%S` second of minute
`bgw320-505` hostname
`ATT-BGW320:` message TAG
`$0` message CONTENT
` | nc` connect the output of the `print` into the input of the command defined in the `nc` variable.
`print $0` print the line to STDOUT (separate from the `nc` command) used to help debug things.
Two standard Unix commands; #nc and #awk, put together creatively allow creating a #SYSLOG relay.

