作者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