Remove ANSI color codes from a text file using bash

前端 未结 3 1961
南方客
南方客 2020-12-20 12:15

I have a bash script that runs and outputs to a text file however the colour codes it uses are also included what i\'d like to know is how to remove them from the file, ie

3条回答
  •  遥遥无期
    2020-12-20 12:39

    sed -r "s/\x1B\[(([0-9]{1,2})?(;)?([0-9]{1,2})?)?[m,K,H,f,J]//g" file_name
    

    this command removes the special characters and color codes from the file

    these are some of ANSI codes: ESC[#;#H or ESC[#;#f moves cursor to line #, column # ESC[2J clear screen and home cursor ESC[K clear to end of line,

    note in case of clear code there is neither number nor semicolon ;

    agree with below comment: if the numbers are more than 2 digit kindly use this:

    sed -r "s/\x1B\[(([0-9]+)(;[0-9]+)*)?[m,K,H,f,J]//g" filename
    

提交回复
热议问题