Apakah ada cara untuk menjaga pewarnaan teks melewati pipa |untuk head, tail, less, dll?
Apakah ada cara untuk menjaga pewarnaan teks melewati pipa |untuk head, tail, less, dll?
Jawaban:
Saya kira Anda akan mengirim dari lsdan ingin mempertahankan kode warna terminal. Anda bisa mengatakan ls --color=always(bukan default --color=auto), yang akan mempertahankan kode, tetapi itu tidak akan menjamin bahwa Anda ingin tahu cara memahaminya.
Jika Anda menggunakan glarkbukan grepitu akan mencoba menampilkan dengan warna.
Jika Anda menggunakannya lessdengan -Ritu akan mencoba untuk menampilkan dengan warna.
git. Saya menemukan bahwa ia memiliki konfigurasi serupa (mis. git config color.diff always) Yang membuat pewarnaan tetap.
git diffoutput sebagai input karena ia akan selalu mengeluarkan kode pelarian ANSI.
grep "string" file.txt | headuntuk memastikan hasil dari grep diwarnai saya hanya mengubahnya kegrep "string" file.txt --color=always | head
Itu tergantung pada program yang menghasilkan output dalam pipa.
head,, taildll bukan yang menghapus warna, itu program yang menghasilkan data yang biasanya memeriksa apakah output pergi ke konsol (berwarna), file atau pipa (tidak berwarna)
Saya menemukan SU T&J lain yang menunjukkan cara membohongi program perpipaan ke keluaran seolah-olah mereka mengirimkan keluaran ke konsol (meniru konsol dengan unbuffer)
color=automode (untuk membuat program berpikir bahwa output masuk ke konsol bukan pipa)?
head, taildll., Mendeteksi bahwa ia sedang disalurkan ke program lain (sehingga ia dapat menghasilkan data tanpa warna, dll.).
head,,taildll bukan yang menghapus warna, itu program yang menghasilkan data yang biasanya memeriksa apakah output pergi ke konsol (berwarna), file atau pipa (tidak berwarna).