আমার কাছে এমন কিছু স্ক্রিপ্ট রয়েছে যা রঙগুলি দিয়ে আউটপুট তৈরি করে এবং আমাকে এএনএসআই কোডগুলি সরানো দরকার।
#!/bin/bash
exec > >(tee log) # redirect the output to a file but keep it on stdout
exec 2>&1
./somescript
আউটপুটটি (লগ ফাইলে):
java (pid 12321) is running...@[60G[@[0;32m OK @[0;39m]
আমি কীভাবে এখানে ইসি অক্ষর রাখি তা জানতাম না, তাই আমি @
এটির জায়গায় রেখেছি ।
আমি স্ক্রিপ্টটি এতে পরিবর্তন করেছি:
#!/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"
তবে এখন এটি আমাকে দেয় (লগ ফাইলে):
java (pid 12321) is running...@[60G[ OK ]
আমি কীভাবে এটি অপসারণ করতে পারি @[60G
?
পুরো স্ক্রিপ্টের জন্য রঙ সম্পূর্ণরূপে অক্ষম করার কোনও উপায় আছে?
strip-ansi
: github.com/chalk/strip-ansi ।