正则表达式 – (GNU)Sed:如何将第n个字符中的任何字符替换为第10个字符?

前端之家收集整理的这篇文章主要介绍了正则表达式 – (GNU)Sed:如何将第n个字符中的任何字符替换为第10个字符?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我需要在字符串中替换第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

猜你在找的正则表达式相关文章