作者dreamroyc ()
看板Linux
標題[問題] sed 只使用到match的pattern部份
時間Tue Feb 22 11:54:03 2011
檔案內容是類似這樣
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似乎會誤判
麻煩版友解答一下 謝謝
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 114.36.31.161
→ kdjf:sed -r 's/(.*) ([0-9]+(G|T))(.*)/\2/' 可用(可是有用到500 02/22 17:53
→ kdjf:前的那個空格,不太完美) 我有\2 去reference第二個() 02/22 17:55
→ kdjf: 用 02/22 17:55
→ superquiz:如果把第一個(.*)改成(.+)可以嗎? 02/22 19:05
推 kdjf:沒差啊, terminal就在面前, 試試看嘛~ 02/22 20:56
→ dreamroyc:可以了,感謝兩位的幫忙。 02/22 22:57
推 adahsu:grep -o 這招? 02/25 15:15