在linux中使用sed命令在模式之前和之后就行删除

苏曼·希尔
forward-zone:
name: "."
forward-addr: 10.1.1.2

forward-zone:
name: "mydomain.com"
forward-addr: 10.1.1.1

我想删除模式'name:“。”之前的一行,并删除模式(包括模式本身)之后的一行。我尝试了以下命令,但这并未修改文件本身。我想进行就地修改。请帮忙

sed -n '/name: "."/{N;s/.*//;x;d;};x;p;${x;p;}' file
b

这样的事情可能适合。

sed -rne '/^name: "\."/{n;n;h;d};1{h;d};x;p;${g;p}' -i file

-i选项使Sed可以就地修改文件。Sed命令hgx使用Sed的保持空间来保持前一行,直到检查了当前行。地址1$分别处理文件的第一行和最后一行,这可能需要特殊处理。

尽管这是一项教育活动,但不可否认,对于这种多行处理,Awk甚至Perl可能比Sed更好。尽管如此,如您所见,Sed可以做一些额外的工作来完成这项工作。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

如何在文件中使用sed命令删除模式?

使用linux命令删除包含搜索模式的行之前的行

如何使用linux sed命令在第二个模式之后插入行

在Fasta文件中使用AWK之前,请删除模式和所有内容

使用tr或sed删除模式和换行

在perl中使用awk和sed命令

如何在sed和awk中使用find命令从文件中删除重复的IP

在 Linux (bash) 中使用 SED 在匹配前后突出显示匹配的模式和更多字符

sed,查找并放置在之前和之后

sed命令和模式空间

删除sed中匹配的行之前和之后的n行范围?

如何在一行中的R中匹配模式之前和之后删除字符?

在文件中使用sed命令删除反斜杠

如何使用RegEx匹配Unix sed命令中特定字符之前或之后的整数?

Remmina之前和之后的VNC连接命令

make命令之前和之后的变量分配

如何在模式之前插入包含空格,管道,grep和sed命令的多条复杂线

我们如何在Linux中使用sed命令从开头删除文本到某个特定的选定单词

sed命令和删除行

使用sed命令替换模式

在 linux 中使用 sed 命令更改变量值

在 linux 中使用 sed 命令更改文件扩展名

如何使用sed在行之前和之后附加字符串

如何使用sed或awk在某些字符之前和之后添加空格?

如何在MySQL中使用更新/插入为删除之前/之后创建触发器?

使用正则表达式在a之前和之后的文件中搜索字符串模式

使用VBA在括号特殊字符之前和之后删除和添加空格

使用sed命令在[stuff]之后添加行

记录使用linux find和sed命令找到的文件