本文介绍了如何使用ed在最后一个模式匹配之后添加文本的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

这是我在 first 模式之前添加文本的方式,我想在 last 模式之后添加

This is how I am adding text before first pattern,I want to add after last pattern

FILE_NAME="folder/myfile.c++"
STR_TO_ADD="string that i want to add"
PATTERN="banana"
ed $FILE_NAME 2>NULL 1>NULL<<EOF
/^$PATTERN
-1
a
$STR_TO_ADD
.
wq
EOF

文件

banana
apple
banana
one
two
three

预期产量

banana
apple
banana
string that i want to add
one
two
three

推荐答案

转到文件的最后一行,并向后搜索模式.

Go to last line of file and search pattern in backward direction.

FILE_NAME="folder/myfile.c++"
STR_TO_ADD="string that i want to add"
PATTERN="banana"
ed $FILE_NAME 2>NULL 1>NULL<<EOF
$
?^$PATTERN
a
$STR_TO_ADD
.
wq
EOF

$文件的最后一行.
?^$PATTERN从当前行向后搜索模式.

$ last line of file.
?^$PATTERN search pattern in backward direction from current line.

这篇关于如何使用ed在最后一个模式匹配之后添加文本的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-30 07:31