Replace 在sed中,如何将数字替换为该数字的两倍?

Replace 在sed中,如何将数字替换为该数字的两倍?,replace,sed,Replace,Sed,如何将数字替换为该数字的两倍 例如,我有x77文件,需要x77文件 我有sed's/[0-9]/88/'。它将数字替换为88,因此我有x88文件 我试过sed的/[0-9]/[0-9][0-9]/'但不起作用…试试echo x7files | sed-e的/\([0-9]\)/\1\1/g'非常感谢!你能解释一下这个代码中的部分是什么意思吗??求你了?嗯,我试试看。在正则表达式的第一部分中,我使用\(和\),这意味着将匹配项保存到缓冲区中。在正则表达式的第二部分中,我有\1,这意味着将第一个缓冲

如何将数字替换为该数字的两倍

例如,我有
x77文件
,需要
x77文件

我有sed
's/[0-9]/88/'
。它将数字替换为
88
,因此我有
x88文件


我试过sed的/[0-9]/[0-9][0-9]/'但不起作用…

试试<代码>echo x7files | sed-e的/\([0-9]\)/\1\1/g'

非常感谢!你能解释一下这个代码中的部分是什么意思吗??求你了?嗯,我试试看。在正则表达式的第一部分中,我使用
\(
\)
,这意味着将匹配项保存到缓冲区中。在正则表达式的第二部分中,我有
\1
,这意味着将第一个缓冲区的内容放在这里。因此,
\([0-9]\)
将7填充到第一个缓冲区中,我用
\1\1
将该缓冲区放置了两次。也许不是所有系统都有
-E
,但稍微清楚一点,不必转义括号
echo x7files | sed-E的/([0-9])/\1\1/g'
在这种情况下,替换命令的LHS可以在RHS中替换为
&
。因此,可以使用
sed的/[0-9][0-9]*/&&&g'文件