Son zamanlarda, komut satırı araçları tarafından günlük çıktılarında süslü ANSI renkleri kullanma eğilimi olmuştur (örneğin, NPM ve bir dizi nodejs tabanlı araç, rvm, docker ve birkaç "modern" araç).
Bu, ekranda okumayı (*) güzelleştirir, ancak çıktıyı bir günlük dosyasına aktarmak istediğinizde veya çeşitli uzaktan yürütme araçları ve web tabanlı izleme çözümleri gibi ANSI'yi iyi işlemeyen bir aktarım yoluyla çok hoş değildir. Bir çok daha olgun araç en azından çıktı bir TTY olmadığında ve rengi devre dışı bıraktığında tespit etme nezaketine sahipti, ancak bu yeni fangled "kullanıcı dostu" CLI'lerle değil - bu da beni boru ile ANSI renklerinden kurtulmaya çalışıyor çıktı başka bir süreç üzerinden.
Çıktıyı baştan s/\x1B\[[0-9]*\w//g
çıkarmak işi hallediyor gibi görünüyor, ancak daha düzenli bir yaklaşım var mı?
(*) en azından araç, koyu arka plan terminalinizde hataları koyu kırmızı renkte göstermeye çalışana kadar.
is there a cleaner approach then just copy pasting regular expressions into all of my scripts?
- Temizleme filtrenizi '/ usr / local / bin / stripttycolor.sh` ya da başka bir dosyaya kaydedin. Bu şekilde normal ifade tek bir konumla sınırlı mı?
--no-color
bayrakla çalışmaktır. Diğer birçok komutun da benzer bayrakları vardır.
bower
.