我在 shell 脚本中搜索命令的输出并将结果存储在一个变量中。
由于 grep 使用的解析逻辑,有一个非常极端的情况,该变量可能具有非 ascii 字符。
问题:如何从 shell 脚本中的这个变量中删除这些非 ascii 字符,以便我可以在后续命令中使用该变量?
最佳答案
如果您使用的是 bash,并且您的变量名为 var
, 然后
"${var//[^[:ascii:]]/}"
将扩展为
var
删除所有非 ascii 字符。所以:var_non_ascii=${var//[^[:ascii:]]/}
应该做。 (这绝对是最好的方法:没有子 shell,也没有外部进程的 fork 来进行 bash)。
关于shell - 从 shell 脚本中的变量中删除非 ascii 字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13977043/