試行錯誤の結果

上のが中途半端に何書いてるか分からない状態だったのでもう少し落ち着いて書きなおした。expectのところにパイプを繋げてみた。あとはdiffして切り貼り。落ち着いた。

#!/bin/sh
expect << EOS |  tr -d '[\r\000]' | tr -s '\n' | grep -E "^[0-9]{2}([0-9]{2}/?){3}" > ~/tmp/router_new.log
spawn telnet 192.168.62.1
expect login
send -- "admin\r\n"
expect "Password: "
send -- "yourpassword\r\n"
expect ">"
send -- "show log sys\r\n"
expect "\r\n\r\n\r\n"
send -- "exit\r\n"
EOS

\diff ~/tmp/router{_new,}.log \
| sed -e "/^[^<]/d" -e "s/^< //g" >~/tmp/router_diff.log
#| grep "^<" | cut -d" " -f2- > ~/tmp/router_diff.log
cat ~/tmp/router_diff.log >>~/tmp/router.log