A string é na verdade 3[ e essa não é a coisa toda.
Após esse colchete de abertura, vem uma série de números e símbolos. Essa string é conhecida como uma seqüência de escape e é usada para controlar o cursor e a cor do texto do console, entre outras coisas.
As sequências de escape não imprimíveis devem estar entre
\[3[ and \]
Se a sequência de escape estiver controlando a cor do texto, ela será seguida por um m .
Aqui está uma tabela para as seqüências de cores:
Black 0;30 Dark Gray 1;30
Blue 0;34 Light Blue 1;34
Green 0;32 Light Green 1;32
Cyan 0;36 Light Cyan 1;36
Red 0;31 Light Red 1;31
Purple 0;35 Light Purple 1;35
Brown 0;33 Yellow 1;33
Light Gray 0;37 White 1;37
Portanto, se você quiser que o prompt do seu console seja azul, use a seguinte seqüência de escape (no nome do arquivo que estou esquecendo):
\[3[34m\]
(observe o m )
Esta seqüência de escape não controla apenas a cor, no entanto. Também pode controlar o movimento do cursor. Aqui está uma tabela / lista com os códigos de movimento e como eles funcionam:
-
Posicione o cursor:
3[<L>;<C>HOu
3[<L>;<C>fcoloca o cursor na linha L e na coluna C.
-
Mova o cursor para cima N linhas:
3[<N>A -
Mova o cursor para baixo N linhas:
3[<N>B -
Mover o cursor para frente N colunas:
3[<N>C -
Mover o cursor para trás N colunas:
3[<N>D -
Limpe a tela, mova para (0,0):
3[2J -
Apagar para o final da linha:
3[K -
Salvar a posição do cursor:
3[s -
Restaurar posição do cursor:
3[u
Apenas esteja ciente de que os dois últimos podem não funcionar no emulador de terminal que você usa. Aparentemente, apenas xterm e nxterm usam essas duas sequências.
E exemplo usando uma dessas seqüências de escape: digamos que eu quero posicionar meu cursor na linha 3, coluna (caractere) 9. Para isso, eu usaria
\[033\[3;9H]
(Eu estou supondo que a coluna 0 é a primeira posição, então esse seria o 8º caractere).
Fonte: link (leia também 6.2)
Mais leitura geral: link
Wikipédia: link