sed 只使用到match的pattern部份 - Linux

Table of Contents

檔案內容是類似這樣
Seagate 500G容量 SATA3 ST3500413AS/16M/SATA3/三年保, $1260
Seagate 1TB容量 SATA3 ST31000524AS/32M/SATA3/三年保, $1850
透過
([0-9])+(G|T)

可以選取到500G 以及1T

但是在sed中敝人只知道將整行保留。
想請問是否有方式可以將變數只保留500G 以及1T
而不是整段?

也有嘗試過用not的方式,如:
[^([0-9])+(G|T)]
但是 regular expression似乎會誤判

麻煩版友解答一下 謝謝

--

All Comments

Edwina avatarEdwina2011-02-23
sed -r 's/(.*) ([0-9]+(G|T))(.*)/\2/' 可用(可是有用到500
Oscar avatarOscar2011-02-23
前的那個空格,不太完美) 我有\2 去reference第二個()
Frederica avatarFrederica2011-02-23
如果把第一個(.*)改成(.+)可以嗎?
Poppy avatarPoppy2011-02-26
沒差啊, terminal就在面前, 試試看嘛~
Olivia avatarOlivia2011-02-27
可以了,感謝兩位的幫忙。
Isabella avatarIsabella2011-03-02
grep -o 這招?