修改一行以匹配行中文本的开始和中间部分
To modify a line that match start and mid part of a text in a line inplace
我有一个文件说 Abc.txt 。它由许多行组成。
我想使用 sed 或者可能是修改该文件中该行的任何其他命令。
假设一行只有一个词,如下所示
ABCDsdfg01klmn
在这里我检查行是否以 ABC 开头,然后检查它是否也有 00 ,在这种情况下我想通过说 PM 修改 01 。我该怎么做?
我想补充一些更具体的。我希望只对 ABCD 和 01 之间有 4 个字符的行执行此操作。我不想修改它,因为在 ABCD 和 01 之间有 3 个字符或 5 个字符,例如 ABCDsfg01klmn
或 ABCDsdfgh01klmn
ABCDsdfgPMklmn
与sed
:
sed -r 's/^(ABCD.{4})01/PM/' file
如果一行包含 ABC
加上 4 个字符和一个 01,则 s
命令用于将 01
替换为 PM
。
我有一个文件说 Abc.txt 。它由许多行组成。 我想使用 sed 或者可能是修改该文件中该行的任何其他命令。 假设一行只有一个词,如下所示
ABCDsdfg01klmn
在这里我检查行是否以 ABC 开头,然后检查它是否也有 00 ,在这种情况下我想通过说 PM 修改 01 。我该怎么做?
我想补充一些更具体的。我希望只对 ABCD 和 01 之间有 4 个字符的行执行此操作。我不想修改它,因为在 ABCD 和 01 之间有 3 个字符或 5 个字符,例如 ABCDsfg01klmn
或 ABCDsdfgh01klmn
ABCDsdfgPMklmn
与sed
:
sed -r 's/^(ABCD.{4})01/PM/' file
如果一行包含 ABC
加上 4 个字符和一个 01,则 s
命令用于将 01
替换为 PM
。