我需要在字符串中替换第10到第20个字符,如下所示:
123456789012345678901234567890
到目前为止,我已经尝试过:
一个)
仅适用于第10个角色:
echo“123456789012345678901234567890”| sed’s /./ X / 10′
b)
不适用于该范围:
echo "123456789012345678901234567890" | sed 's/./X/10,20' echo "123456789012345678901234567890" | sed 's/./X/10\,20' echo "123456789012345678901234567890" | sed 's/./X/\{10,20\}' echo "123456789012345678901234567890" | sed 's/./X/\{10\,20\}'
不起作用,我得到错误
unknown option to `s’
所以 – 问题是 – 我该如何使它工作:
echo“123456789012345678901234567890”| sed’s /./ X / 10,20′
解决方法
尝试:
$sed -r "s/^(.{9})(.{11})/\1XXXXXXXXXX/" <<< 123456789012345678901234567890 123456789XXXXXXXXXX1234567890