我的filename
文件内容如下(例如):
My block of line starts from here
START
First line
second line
third line
END
and end to here for example.
我想,以取代之间的行块START
,并END
只用一个词,例如用SINGLEWORD
。如下所示:
My block of line starts from here
SINGLEWORD
and end to here for example.
我可以使用以下命令找到我的代码行:
grep -Pzo "START(.|\n)*END" filename
运行上述命令的结果将是这样的:
START
First line
second line
third line
END
然后,我使用此命令将所有行合并为一行:
LAST_RESULT | sed -e :a -e '/$/N; s/\n/ /; ta'
然后我将得到以下结果:
START First line second line third line END
并用我的最后一条命令LAST_RESULTS | sed 's/.*/SINGLEWORD/'
将它们更改为,"SINGLEWORD"
然后得到此结果。
SINGLEWORD
现在我想要的是:如何使用此命令(或您的建议命令)并将行替换为“ SINGLEWORD”字样?最终结果将类似于以下文件:
My block of line starts from here
SINGLEWORD
and end to here for example.
sed
应该可以使用,但可能更难阅读(看这个问题)