
先谢谢 # cat 1.txt aaaaaaaaa bbbbbbbb zone "abc.com" { ababab; cdcdcdc; } zone "bcd.com" { xxxx; yyyy; iiiiiiii; } 找到abc.com后删除这一段{}之间行数不固定 zone "abc.com" { ababab; cdcdcdc; }
现在有以下一段代码
/*
有一个文件test, 里面的内容格式如下: begin 1 2 end begin a g end 现在想通过sed删除其中的begin和end开头的行,要如何实现呢?想了一个方法 sed '/^begin/d' test | sed '/^end/d' 但是这样可配置性太低,希望能实现下面这种方式(用于shell) #/bin/sh str_list="begin end" #sed 命令删除以str_list里面的字符串(以空格隔开)开头的所�行�,这样下次只需要加个字符串进str_list就行了 ... 要怎么写呢, 请指教.
大家好,我有一个文件类似下面的内容: $var1 = "pwd"; $var2 = "asdfasdf"; .... 其中我要替换$var1 = 这一行的值为: $var1 = "asdf"; 我使用: sed 's#$var1 = "pwd";#$var1 = "asdf";#' 这个命令可以替换。 这里有一个问题就是,文本文件中$var1等号后面的值是不确定的,可能是 $var1 = "as";等这样的值,可是我希望不管$var1后面是什么值我都替换成$var1 = "asdf"; 请问我要如何做? 谢谢大家!
请教大家sed能实现以下的功能吗? a.txt部分内容如下 slkdjf dslkfj lsdjf lsdkj 同志(收) lkjg jdsfjdjf dsd aaa 同志(收) dsjf kdfsdj aaa 同志(收) 我想实现的是:写一个sed脚本文件 查找所有包含 同志(收) 这几个字的行,然后删除这些重复的行以及它的上三行和下三行,再将剩余的内容定向到b.txt 当然所有重复的行都要保留一个. 难道我说的不够清楚? 我的意识是:如果a.txt中有5个 aaa 同志(收) 的行,就删除后面的4个...