gpt4 book ai didi

linux - 寻找删除当前行和前后一行并替换当前行的方法

转载 作者:太空狗 更新时间:2023-10-29 12:39:14 26 4
gpt4 key购买 nike

我想到了使用 shell 脚本来实现,后来发现 sed 是一种高效的实现方式。我计划在搜索图案线之前和之后删除线,然后替换搜索到的图案线

于是用下面的命令删除了前后的行。但是,它会删除之前的行和当前行

sed '$!N;/'perr\(\"pp'/!P;1d;D

任何线索将不胜感激。

最佳答案

假设您的文件有 Unix 换行符 (\n),请尝试以下操作:

sed '
:a
N
$!ba # slurp whole lines in the pattern space
s/\(\n\)[^\n]*\nperr("pp[^\n]*\n[^\n]*/\1REPLACEMENT/g
' file

文件 看起来像:

aaa
bbb
perr("pp..
ccc
ddd

和输出:

aaa
REPLACEMENT
ddd

请根据修改匹配字符串和替换您的要求。

关于linux - 寻找删除当前行和前后一行并替换当前行的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54687731/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com