您好我正在使用AWK生成一堆提交到我們的羣集。AWK或bash配置文件將不需要的顏色代碼添加到標準輸出
$ls myfiles* | awk '{for(i=1;i<101;i++){print("qsub -d `pwd` -v FILE="$1",NUM="i" -N "$1" run.qsub")}}'
產生類似的東西 - 這是在awk的聲明取代
qsub -d `pwd` -v FILE=myfiles100.txt,NUM=100 -N myfiles100.txt run.qsub
除了變量$ 1(myfiles100.txt),在綠色的語法高亮顯示。我不知道這是由於我的bash配置文件還是AWK的東西,但我從來沒有見過它。當我將其重定向到stdout時,問題就出現了。
$ls myfiles* | awk '{for(i=1;i<101;i++){print("qsub -d `pwd` -v FILE="$1",NUM="i" -N "$1" run.qsub")}}' > somefile.txt
當我打開somefile.txt
qsub -d `pwd` -v FILE=^[[0m^[[32mmyfiles100.txt^[[0m,NUM=100 -N ^[[0m^[[32myfiles100.txt^[[0m run.qsub
顏色代碼插入爲好,但這會導致混亂,當我執行這些作業調度程序。我可以用一個很好的sed命令刪除顏色代碼。
sed -r "s/\x1B\[([0-9]{1,2}(;[0-9]{1,2})?)?[mGK]//g"
但必須有一些設置我失蹤使事情變得更容易。
幾乎肯定是'ls'的env var。使用'ls --color = never -other opts'。祝你好運。 – shellter 2014-10-29 22:00:28
謝謝!當然這是問題所在。全局bash有ls顏色選項集 – jwillis0720 2014-10-29 22:06:45