2014-10-01 35 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