簡體   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