O problema está em usar o meu gato com alias que adiciona os caracteres especiais.
Em vez de
cat Variables/user-extensions.js | sed -e 's/css/XXX/' > x
use
sed 's/css/XXX/' Variables/user-extensions.js > x
Quando uso
cat Variables/user-extensions.js | sed -e 's/css/XXX/'
em um arquivo de entrada do formulário
storedVars["css_body"] = "css=body";
storedVars["css_main"] = "css=main";
Eu vejo saídas como
storedVars["XXX_body"] = "css=body";
storedVars["XXX_main"] = "css=main";
No entanto, se eu adicionar > x
e, em seguida, usar o vi para editar o arquivo x
que eu vejo
storedVars^[[31m[^[[m^[[31m"XXX_body"^[[m^[[31m]^[[m ^[[31m=^[[m ^[[31m"css=body"^[[m^[[31m;^[[m
storedVars^[[31m[^[[m^[[31m"XXX_main"^[[m^[[31m]^[[m ^[[31m=^[[m ^[[31m"css=main"^[[m^[[31m;^[[m
em vez de
storedVars["XXX_body"] = "css=body";
storedVars["XXX_main"] = "css=main";
qual é o que eu recebo se eu deixar a saída ir para a saída padrão, ou se eu apenas cat
o arquivo de saída e não editá-lo com o vi. Eu posso cat
o arquivo e pipe para head
ou tail
e a saída é normal, sem caracteres extras.
Se eu vi o arquivo .js de origem, não vejo esses caracteres extras.