Você estava perto. Você quer
tr -dc '[:print:]\n' <input
Na página tr(1)
man:
-c, -C, --complement
use the complement of SET1
Atualizar
Se você quiser remover também as seqüências de escape, use o seguinte sed
snippet:
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
É tirado de uma questão de falha de servidor chamada No CentOS 4.4, como posso extrair seqüências de escape de um arquivo de texto?