Metnin başa, kuyruğa, daha az vb. Renkli olmasını sağlamak için herhangi bir yolu var mı?


26

Metnin renklendirilmesi tutmak için herhangi bir yolu borusu boyunca geçen var mı |üzere head, tail, lessvb?


Belirli bir çıktı programı var mı? Verileri borudan gönderen programa bağlıdır. head,, tailvb renkleri kaldıranlar değil, çıktının konsola (renkli), bir dosyaya mı yoksa boruya mı (renkli değil) gidip gitmediğini kontrol eden verileri üreten programdır.
KurzedMetal

Yanıtlar:


15

Sanırım boru hattını lsgeçiyor ve terminal renk kodlarını korumak istiyorsun. Kodları koruyacak olan ls --color=always(varsayılanı yerine) diyebilirsiniz --color=auto, ancak bu, borulama yaptığınız şeyin onları nasıl anlayacağını bildiğini garanti etmez.

Eğer kullanırsanız glarkyerine greponunla renkleri ile göstermeye çalışacaktır.

Eğer kullanırsanız lessile -Rbununla renklerle gösterilecek çalışacaktır.


6
Pipoluyorum git. Renklendirmeyi git config color.diff alwaystutan benzer bir yapılandırmaya (örn. ) Sahip olduğunu gördüm.
Timofey Gorshkov

1
@Errandir, bu konfigürasyondaki problemi git diff, her zaman ANSI çıkış kodlarını çıkartacağı için çıktı olarak girdi kullanan herhangi bir komut dosyasını veya komutu kıracağıdır .
KurzedMetal

@Errandir, teşekkürler! Git diff'in temiz çıktısına dayanan bir betikim yok bu yüzden bu benim için çalışıyor! Teşekkür ederim !
Ashutosh Jindal

Bunu grep için kullandım: grep "string" file.txt | headgrep "string" file.txt --color=always | head
grep'in

13

Boruda çıktı üreten programa bağlıdır.

head,, tailvb renkleri kaldıranlar değil, çıktının konsola (renkli), bir dosyaya mı yoksa boruya mı (renkli değil) gidip gitmediğini kontrol eden verileri üreten programdır.

Bir konsola çıktı gönderiyormuş gibi çıkacak şekilde boru programlarına nasıl yalan söyleneceğini gösteren başka bir SU Q&A buldum (bir konsolu taklit ederek unbuffer)


Renklendirmeyi color=automodda tutmanın (programın çıkışın boru yerine konsola gittiğini düşünmesini sağlamak için) herhangi bir yolu var mı ?
Timofey Gorshkov

@KurzedMetal Bir program, örneğin head, tailvb. Başka bir programa aktarıldığını nasıl algılar (böylece renkler olmadan veri üretebilir).
Jorge Bucaran

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.