[英]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.