我有一些变量$a
。此变量具有非打印字符(回车 ^M)。
>echo $a
some words for compgen
>a+="END"
>echo $a
ENDe words for compgen
我怎样才能删除那个字符?
我知道 echo "$a"
显示正确。但这不是我的解决方案。
最佳答案
你可以使用tr
:
tr -dc '[[:print:]]' <<< "$var"
将从 $var
中删除不可打印的字符。
$ foo=$'abc\rdef'
$ echo "$foo"
def
$ tr -dc '[[:print:]]' <<< "$foo"
abcdef
$ foo=$(tr -dc '[[:print:]]' <<< "$foo")
$ echo "$foo"
abcdef
关于bash - 从 bash 变量中删除非打印字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22045175/