有谁知道如何从 shell 中的字符串中删除隐藏字符?
这是一个例子:
# 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')