String
替換子串
有沒有辦法用 char 替換字元串?
例子 :
我有,
123456789
而且,我想用 * 替換從位置 3 到位置 8 的所有字元,以產生這個結果
12******9
有沒有辦法使用
sed -i "s/${mystring:3:5}/*/g" ?
你可以分配一個變數
var1=123456789
echo $var1
會給123456789
然後
var2="${var1:0:2}*****${var1:8:9}"
echo $var2
會給12*****9
目前尚不清楚數據在哪裡。如果它在 shell 變數中,那麼
用原始的前兩個字元、替換的字元串和原始的尾隨字元構造一個新字元串。要麼將其分配回原件,要麼將其用作變數。決定是否要檢查原始字元串是否短於 8 個字元。
mystring="${mystring:0:2}******${mystring:8}"
你可以做
mystring=${mystring/????????/${mystring{0:2}******}
如果它在一個文件中,那麼
sed 's/\(..\)......../\1********/' file