숨겨진 문자가 있는 문자열을 일반 문자열로 변환하는 방법

숨겨진 문자가 있는 문자열을 일반 문자열로 변환하는 방법

쉘의 문자열에서 숨겨진 문자를 제거하는 방법을 아는 사람이 있습니까?

  • 예는 다음과 같습니다.

    # echo $a;
    [root@localhost ~]#
    
  • 하지만 숨겨진 문자를 표시하도록 "강제"하면 다음과 같습니다.

    # echo $a | cat -v
    [root@localhost ~]# ls ^H^[[K^H^[[K^H^[[Kpwd^H^[[K^H^[[K^H^[[Kls^H^[[K^H^[[Kpwd^H^[[K^H^[[K^H^[[K
    
  • 다음 출력을 얻기 위해 숨겨진 문자를 제거하고 싶습니다.

    # echo $a | cat -v
    [root@localhost ~]#
    

답변1

인쇄되지 않는 문자를 제거하려면 sed를 사용하십시오.

echo $a | sed 's/[^ -~]//g' | cat -v

아니면 저장하세요:

a=$(echo $a | sed 's/[^ -~]//g')

관련 정보