隠し文字を含む文字列を通常の文字列に変換する方法

隠し文字を含む文字列を通常の文字列に変換する方法

シェルの文字列から隠された文字を削除する方法を知っている人はいますか?

  • 例は次のとおりです。

    # 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')

関連情報