Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Unix 用行中的值替换多行。_Unix_Awk_Sed_Grep - Fatal编程技术网

Unix 用行中的值替换多行。

Unix 用行中的值替换多行。,unix,awk,sed,grep,Unix,Awk,Sed,Grep,您好,我有大约500行类似于上面的代码。我的目标是删除除@name=“Bob”之外的所有行,同时保留我的“其他代码”。有没有办法用grep+awk做到这一点 目前我可以使用 > OTHER CODES > OTHER CODES Want to remove this line>' { Want to remove this line but keep Bob >id : 1 / @gateway="local" / @name="Bob / @views="500"

您好,我有大约500行类似于上面的代码。我的目标是删除除@name=“Bob”之外的所有行,同时保留我的“其他代码”。有没有办法用grep+awk做到这一点

目前我可以使用

> OTHER CODES
> OTHER CODES 
Want to remove this line>' {
Want to remove this line but keep Bob >id : 1 / @gateway="local" / @name="Bob / @views="500"
Want to remove this line>sample : 1
Want to remove this line>cash : 500
Want to remove this line>bets : 1
> OTHER CODES
> OTHER CODES
> OTHER CODES
> OTHER CODES
> OTHER CODES

抓住所有我想要的线。名称可以根据用户进行更改。提前谢谢你。

我想你想要这样的东西

grep -A 1 -B 3 "@name" ok 

结果应该是怎样的?我同意其他人的意见,这个问题并不清楚。如果你单独显示所需的输出,它会更有用。有趣的是,阿维纳什得到了它。。。我觉得很清楚。我想删除我问的“想删除这行”的行。很好的回答,这正是我需要的。
$ grep -oP '@name=\S+|^>.*' file
> OTHER CODES
> OTHER CODES
@name="Bob
> OTHER CODES
> OTHER CODES
> OTHER CODES
> OTHER CODES
> OTHER CODES