Linux에서 스크립트 명령으로 생성된 파일에서 정크 문자를 제거하는 방법

Linux에서 스크립트 명령으로 생성된 파일에서 정크 문자를 제거하는 방법

터미널의 모든 내용을 기록하기 위해 스크립트 명령을 사용하고 있습니다. 그런데 생성된 파일을 열어보니 정크문자가 잔뜩 들어있습니다. 파일이나 다른 대안에서 이러한 정크 문자를 제거하는 데 도움을 줄 수 있는 사람이 있습니까?

파일은 다음과 같습니다.

ossvm10(0)> ls -lrt /usr/opt/temip/mmexe/mcc_fcl_pm.exe^M
^[[00m-rwxr-xr-x 1 root root 387517 Feb 18  2013 ^[[00;32m/usr/opt/temip/mmexe/mcc_fcl_pm.exe^[[00m^M
^[[m^[]0;temip@ossvm10:/home/dharmc^G[/home/dharmc]^M
ossvm10(0)> script -a unit_testing_TEMIPTFRLIN_00202_CR#9961.txtsum /usr/opt/temip/mmexe/mcc_fcl_pm.exe^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^[[1P^H^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^H^[[1P^[[1P^H^G^G^G^G^G^G^G^G^M
06046   379^M
^[]0;temip@ossvm10:/home/dharmc^G[/home/dharmc]^M

답변1

간단히 다음을 실행할 수 있습니다.

dos2unix <filename>

이렇게 하면 ^M파일에서 모든 문자가 제거됩니다. ^M은 DOS 환경에서 생성된 캐리지 리턴 문자입니다. 이 명령은 dos2unix단순히 파일을 DOS 형식에서 Unix 형식으로 변환합니다.

^H및 문자를 제거하려면 ^G다음을 사용하십시오 sed.

sed -i 's/\^H//g;s/\^G//g' <filename>

관련 정보