作者godman362 (青)
看板RegExp
標題[問題] '-'字元
時間Wed Oct 14 17:47:49 2009
想請教一個問題
環境為shell
我有一堆lib,其中有些名稱具有'-'的字元
我想把有'-'字元的挑掉不要
原本的寫法是這樣:.*[^-].*
但是經過測試好像並沒有過濾掉
所以想請問一下,這是特殊字元嗎?
如果不是的話,又應該如何處理?
還請各位先進指點一下,謝謝
--
Ultimate Treein
ˍˍ
▕慕京▏
▕子印▏
 ̄ ̄
http://septemhill.blogspot.com
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 203.74.245.163
1F:→ bibo9901:是的, 要escape [^\-] 10/14 21:15
2F:→ godman362:我使用awk的時候,卻不允許我這樣處理? 10/15 10:55
3F:→ godman362:我是這樣寫的: ls | awk '/.*[^\-].*/ { print $0 }' 10/15 10:56
4F:→ godman362:請問這樣有哪邊出錯了嗎? 10/15 10:56
5F:推 evernever:對 awk 不熟, 但可以試試'/.*[^\\-].*/ ...' 多一個\ 10/15 19:05
6F:→ godman362:找出來的結果還是不符合我想要得答案 10/15 19:08
7F:→ godman362:後來我使用:ls | awk '!/.*[^-].*/ {print $0 }' 10/15 19:09
8F:→ godman362:直接用反向搜尋法過濾出我想要得答案 10/15 19:09
9F:→ godman362:不過這樣的作法好像就不太符合正規表示法的用法了 10/15 19:10
10F:推 badwork:試試 ^[^-]*$ 從頭到尾所有字元都沒出現-的會match到 10/15 23:00
11F:推 evernever:檔案名從頭到尾都沒有'-'應該是 /^[^-]+$/ 10/16 04:57
12F:→ evernever:在Cygwin, Awk 3.1.6 測試 Ok. 10/16 04:58
13F:→ evernever:sorry 測試完才看到跟 badwork 大的答案是一樣的 = = 10/16 05:01
14F:→ godman362:謝謝b大和e大,已經成功測出來了 10/16 07:43