![sed를 사용하고 편집한 파일로 출력한 후 vi(cat 대신)에 ^[[31m[^[[m^[[31m"])가 표시되는 이유는 무엇입니까?](https://linux55.com/image/73331/sed%EB%A5%BC%20%EC%82%AC%EC%9A%A9%ED%95%98%EA%B3%A0%20%ED%8E%B8%EC%A7%91%ED%95%9C%20%ED%8C%8C%EC%9D%BC%EB%A1%9C%20%EC%B6%9C%EB%A0%A5%ED%95%9C%20%ED%9B%84%20vi(cat%20%EB%8C%80%EC%8B%A0)%EC%97%90%20%5E%5B%5B31m%5B%5E%5B%5Bm%5E%5B%5B31m%22%5D)%EA%B0%80%20%ED%91%9C%EC%8B%9C%EB%90%98%EB%8A%94%20%EC%9D%B4%EC%9C%A0%EB%8A%94%20%EB%AC%B4%EC%97%87%EC%9E%85%EB%8B%88%EA%B9%8C%3F.png)
내가 사용할 때
cat Variables/user-extensions.js | sed -e 's/css/XXX/'
양식의 입력 파일에
storedVars["css_body"] = "css=body";
storedVars["css_main"] = "css=main";
다음 출력이 표시됩니다.
storedVars["XXX_body"] = "css=body";
storedVars["XXX_main"] = "css=main";
그러나 vi를 사용하여 파일을 추가 > x
하고 편집 하면x
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
바꾸다
storedVars["XXX_body"] = "css=body";
storedVars["XXX_main"] = "css=main";
어느예출력을 stdout으로 보내거나 cat
vi로 편집하지 않고 파일을 출력하면 어떻게 됩니까? cat
파일과 파이프를 head
OR 에 연결할 수 tail
있으며 출력은 양호하며 추가 문자가 없습니다.
소스 .js 파일을 실행하면 이러한 추가 문자가 표시되지 않습니다.
답변1
문제는 내 별칭 고양이를 사용할 때 특수 문자가 추가된다는 것입니다.
바꾸다
cat Variables/user-extensions.js | sed -e 's/css/XXX/' > x
사용
sed 's/css/XXX/' Variables/user-extensions.js > x