Sed grep并替换两个组成字符串

Sed grep并替换两个组成字符串,sed,grep,Sed,Grep,我想grep并替换两个连续字符串: grep和替换一个字符串很容易: grep -lr -e '00000' * | xargs sed -i 's/00000/11111/g' 但我想在一个文件中grep两个字符串: grep -w 'P000\|00000' file_name 上述命令确实可以grep名为“file_name”的文件中的两个连续字符串“P000”和“00000” 现在我想替换这两个连续的 字符串“P000 0000”乘以“C1000 11111” 我该怎么做呢?如

我想grep并替换两个连续字符串:

grep和替换一个字符串很容易:

grep -lr -e '00000'  * | xargs sed -i 's/00000/11111/g'
但我想在一个文件中grep两个字符串:

 grep -w  'P000\|00000' file_name
上述命令确实可以grep名为“file_name”的文件中的两个连续字符串“P000”和“00000”

现在我想替换这两个连续的 字符串“P000 0000”乘以“C1000 11111”


我该怎么做呢?

如果只需要匹配两个连续的字符串

sed 's/$string1$string2/$newString1$newString2/g'
如果需要在它们之间保留一定数量的字符:

sed 's/$string1\(.*\)$string2/$newString1\1$newString2/g'

s/p0000000/c100011111/
用“c100011111”替换“p0000000”。
用“c100011111”替换“p00000000”。
?(后面的5个零)grep-w“$line1\|$line2”*| xargs sed-i“s/$line1$line2/$line1$line3/g”不起作用,其中$line1是P000,$line3是11111