我希望使用 sed 来修改块/段落中出现奇数/偶数的代码的起始和结束模式,例如
Word1 ..... Word1 Word1 ..... Word1
将开头的“word1”替换为“NewWord1”(奇数次,1,3,5,7,...),并将结尾的“word1”替换为“NewWord2”(偶数次,2,4,6,...)
NewWord1 ..... NewWord2 NewWord1 ..... NewWord2
答案1
如果你正在处理段落,那么 Awk 或 Perl 可能更简单
例如,使用 GNU Awk:
$ gawk -vRS= '
BEGIN{OFS=FS="\n"}
{sub(/Word1/,"NewWord1",$1); sub(/Word1/,"NewWord2",$NF)}
{printf $0 RT}
' SampleCode
NewWord1
.....
NewWord2
NewWord1
.....
NewWord2