2014-10-01 71 views
-1
> 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 

你好,我有大约500行代码,看起来像上面。我打算做的是删除除@ name =“Bob”之外的所有行,并保留“其他代码”。有没有办法用grep + awk来做到这一点?用行中的值替换多行。

目前我可以用

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

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

+0

结果应该怎么样子的呢? – Cyrus 2014-10-01 21:42:12

+0

确实不太清楚。 – 2014-10-01 21:46:02

+0

我同意其他评论过的人,问题不清楚。如果单独显示所需的输出将会更有用。 – 2014-10-02 07:10:19

回答

0

我想你想这样的事情,

$ grep -oP '@name=\S+|^>.*' file 
> OTHER CODES 
> OTHER CODES 
@name="Bob 
> OTHER CODES 
> OTHER CODES 
> OTHER CODES 
> OTHER CODES 
> OTHER CODES 
+0

伟大的答案,这正是我需要的。 – LinA 2014-10-02 13:19:25