繁体   English   中英

bash脚本中的模糊字符串

[英]Obscure string in bash script

我正在尝试执行以下操作:

obscure ( ) {
    local txt="$1"
    echo "$txt" | tr '[:alnum:]' '*'
}

所以如果我这样做:

obscure 'mysecretstring'

我得到:

**************

我可以为tr使用什么匹配器,而不是[:alnum:]来表示“任何字符”?

有没有更好的方法来实现obscure 想到的另一个选项是sed

您可以使用纯 BASH:

obscure() {
   local txt="$1"
   echo "${txt//?/*}"
}

"${txt//?/*}"$txt的每个字符替换为*

测试一下:

obscure 'mysecretstring3123213213'
************************

obscure mysecretstring
**************

obscure '!@#$%^&*()_+=-'
**************

obscure '中文版'
***

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM