Banyak program yang menghasilkan keluaran berwarna mendeteksi jika mereka menulis ke TTY, dan mematikan warna jika tidak. Ini karena kode warna mengganggu ketika Anda hanya ingin menangkap teks, jadi mereka mencoba untuk "melakukan hal yang benar" secara otomatis.
Cara paling sederhana untuk menangkap keluaran warna dari program seperti itu adalah menyuruhnya menulis warna meskipun tidak terhubung ke TTY. Anda harus membaca dokumentasi program untuk mengetahui apakah ia memiliki opsi itu. (misalnya, grepmemiliki --color=alwaysopsi.)
Anda juga dapat menggunakan expectskrip unbufferuntuk membuat pseudo-tty seperti ini:
echo barney | unbuffer grep barney | sed -n 1,$\ p
lessdapat menerima input teks berwarna (bagus :) ... misalnya:tree -C ~/ |less -Ratauls -lR --color=always . |less -R