Ben renkler ile çıktı üreten bazı komut dosyası var ve ANSI kodlarını kaldırmak gerekir.
#!/bin/bash
exec > >(tee log) # redirect the output to a file but keep it on stdout
exec 2>&1
./somescript
Çıktı (günlük dosyasında):
java (pid 12321) is running...@[60G[@[0;32m OK @[0;39m]
ESC karakterini buraya nasıl koyacağımı bilmiyordum @
, yerine koydum .
Senaryoyu şöyle değiştirdim:
#!/bin/bash
exec > >(tee log) # redirect the output to a file but keep it on stdout
exec 2>&1
./somescript | sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[m|K]//g"
Ama şimdi bana veriyor (günlük dosyasında):
java (pid 12321) is running...@[60G[ OK ]
Bunu nasıl kaldırabilirim @[60G
?
Belki de tüm komut dosyası için renklendirmeyi tamamen devre dışı bırakmanın bir yolu var mı?
strip-ansi
: github.com/chalk/strip-ansi .