Se possível, convém considerar o uso de netcat
( nc
) em vez de tentar analisar telnet
output. Por exemplo:
$ while sleep 5; do nc -C 93.184.216.34 443 </dev/null && echo "Connected" | tee -a /var/tmp/test$(date +%Y%m%d).txt && date >> /var/tmp/test$(date +%Y%m%d).txt; done
Connected
Connected
Connected
Connected
^C
-
$ cat /var/tmp/test20180925.txt
Connected
Tue Sep 25 16:42:57 UTC 2018
Connected
Tue Sep 25 16:43:02 UTC 2018
Connected
Tue Sep 25 16:43:07 UTC 2018
Connected
Tue Sep 25 16:43:12 UTC 2018
Tente isso um pouco mais perto do que você está procurando
while sleep 5; do sleep 1 | nc -v 159.203.162.223 443 2>&1; echo $(date) >> /var/tmp/test$(date +%Y%m%d).txt; done >> /var/tmp/test$(date +%Y%m%d).txt & tail -f /var/tmp/test$(date +%Y%m%d).txt | grep 'Connected\|timed\|refused'