Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2043221
  • 博文数量: 470
  • 博客积分: 10206
  • 博客等级: 上将
  • 技术积分: 5620
  • 用 户 组: 普通用户
  • 注册时间: 2008-07-03 12:50
文章分类

全部博文(470)

文章存档

2012年(1)

2011年(18)

2010年(47)

2009年(404)

分类:

2009-06-15 09:25:24

[] [] [] [] []
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 14:32 

诸如标题中的特殊字符应如何处理?

如下简单的罗列是不行的。

CODE:
grep '["-^[]]''

可以先不要单引号。



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
  帅哥 (frame)
风云使者



CU编号: 184181
注册:2004-9-17
最后登录: 2008-10-24
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 15:32 

基本上一个个加上去,不行就用\
就是单引号不行。



您对本贴的看法:

__________________________________

刚刚从虚拟回到现实,渐渐进入状态。
| |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 15:41 



QUOTE:
原帖由 shitou9000 于 2006-3-30 15:32 发表
基本上一个个加上去,不行就用\
就是单引号不行。

楼上的测试过了吗?
用不用\不是正则的事,而是shell的转义。



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
版主   帅哥 (孩儿他爹㊞)
广告杀手-老法王



CU编号: 17255
注册:2002-8-26
最后登录: 2009-06-15
帖子:
精华:







来自:中国南京
状态:...在线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 16:18 

grep '[][^-]'

好像有个基础的文章里就讲过



您对本贴的看法:

__________________________________

=GNU/linux=
GNU {bash 2.05b, grep 2.5, Awk 3.1.3, sed 4.0.8}

导师说:站起来吧
众人说:那么辛苦那么艰苦到底值不值?

设计师说:富起来吧
众人说:拼啦

| |
版主   帅哥 (孩儿他爹㊞)
广告杀手-老法王



CU编号: 17255
注册:2002-8-26
最后登录: 2009-06-15
帖子:
精华:







来自:中国南京
状态:...在线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 16:23 

JB上的规则是
]要放在第一个
-放最后一个
^不能放第一个



您对本贴的看法:

__________________________________

=GNU/linux=
GNU {bash 2.05b, grep 2.5, Awk 3.1.3, sed 4.0.8}

导师说:站起来吧
众人说:那么辛苦那么艰苦到底值不值?

设计师说:富起来吧
众人说:拼啦

| |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 16:27 



QUOTE:
原帖由 waker 于 2006-3-30 16:23 发表
JB上的规则是
]要放在第一个
-放最后一个
^不能放第一个

相当准确的答案。
单引号则是另外一个问题了,属于shell的qoute范畴。



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
  帅哥
老法王


CU奥运火炬传递手2008
荣誉会员  
CU编号: 187152
注册:2004-10-1
最后登录: 2009-06-14
帖子:
精华:







来自:北京海淀
状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 17:21 

\原来如此



您对本贴的看法:

__________________________________


Window$ XP Professional service pack 2
CYGWIN_NT-5.1 + GNU bash version 3.2.39

| |
  帅哥
精灵王



CU编号: 324764
注册:2005-10-17
最后登录: 2009-04-11
帖子:
精华:0







来自:北京朝阳
状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 19:42 



QUOTE:
原帖由 waker 于 2006-3-30 16:23 发表
JB上的规则是
]要放在第一个
-放最后一个
^不能放第一个

JB是什么地方?



您对本贴的看法:

__________________________________

I love you not because of who you are! I love you because who I am when I am with you !
| |
  帅哥
光明使者



CU编号: 242325
注册:2005-3-21
最后登录: 2009-04-24
帖子:
精华:







来自:鸢都
状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 20:24 

JB就是基本上呀,对吧waker兄?呵呵



您对本贴的看法:

__________________________________

处处留心皆学问~
QQ:86394816.
SCO UNIX 5.0.5
mail:acbs95599@163.com

| |
  帅哥
精灵王



CU编号: 324764
注册:2005-10-17
最后登录: 2009-04-11
帖子:
精华:0







来自:北京朝阳
状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-3-30 23:21 



QUOTE:
原帖由 wayy2008 于 2006-3-30 20:24 发表
JB就是基本上呀,对吧waker兄?呵呵

faint 了



您对本贴的看法:

__________________________________

I love you not because of who you are! I love you because who I am when I am with you !
| |
[] [] [] [] []
  帅哥
法师
呼~~ Zzzzz...



CU编号: 467022
注册:2006-9-18
最后登录: 2009-01-10
帖子:
精华:







来自:老猫流放地
状态:...保密...

[] [] [博客]


[] 顶部
发表于 2006-10-10 15:21 

打基础来了



您对本贴的看法:
| |
  帅哥
风云使者
非法用户[论坛禁止访问三个月]



CU编号: 381184
注册:2006-3-5
最后登录: 2009-06-01
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 16:07 



QUOTE:
原帖由 waker 于 2006-3-30 16:23 发表
JB上的规则是
]要放在第一个
-放最后一个
^不能放第一个

这个算吗

CODE:
grep '[''"''-''^'"'""[""]"']'




您对本贴的看法:
| |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 16:18 



QUOTE:
原帖由 lovesaka 于 2006-10-10 16:07 发表

这个算吗

CODE:
grep '[''"''-''^'"'""[""]"']'


这个不对,应该按照waker给的规则写,楼上的可以自己试一下,看能否匹配成功。

[ 本帖最后由 r2007 于 2006-10-10 16:20 编辑 ]



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
  帅哥
风云使者
非法用户[论坛禁止访问三个月]



CU编号: 381184
注册:2006-3-5
最后登录: 2009-06-01
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 16:26 



CODE:
minuit@suse:~/shell/temp> grep '[][^-]' 1.txt
asdfkj"-^[]'
"-^[]'
ww"-^w[]klgsdf
minuit@suse:~/shell/temp> grep '[''"''-''^'"'""[""]"']' 1.txt
asdfkj"-^[]'
"-^[]'
ww"-^w[]klgsdf
minuit@suse:~/shell/temp> cat 1.txt
w23fkjgiasfjkl
asdfkj"-^[]'
"-^[]'
ww"-^w[]klgsdf
gsdflgjdslf

我不知道版主你要的精确的结果也就是只有这些字符的结果行还是包这些字符的行



您对本贴的看法:
| |
  帅哥
风云使者
非法用户[论坛禁止访问三个月]



CU编号: 381184
注册:2006-3-5
最后登录: 2009-06-01
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 16:33 



CODE:
minuit@suse:~/shell/temp> grep '[''"''-''^'"'""[""]"']' 1.txt
+ grep '["-^'\''[]]' 1.txt
asdfkj"-^[]'
"-^[]'
ww"-^w[]klgsdf
minuit@suse:~/shell/temp>

这是set -x看的解析结果



您对本贴的看法:
| |
  帅哥
法师
呼~~ Zzzzz...



CU编号: 467022
注册:2006-9-18
最后登录: 2009-01-10
帖子:
精华:







来自:老猫流放地
状态:...保密...

[] [] [博客]


[] 顶部
发表于 2006-10-10 16:40 

或许是匹配了"-^[]' 中的某一个,因为匹配行都有 "-^[]' 。



您对本贴的看法:
| |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 16:43 



QUOTE:
原帖由 lovesaka 于 2006-10-10 16:26 发表

minuit@suse:~/shell/temp> grep '[][^-]' 1.txt
asdfkj"-^[]'
"-^[]'
ww"-^w[]klgsdf
minuit@suse:~/shell/temp> grep '[''"''-''^'"'""[""]&q ...

请问楼上想匹配什么?是不是包含 “-^'[] 的任意字符?
如果是应该这样写

CODE:
grep '[]"^'\''[-]'



CODE:
grep '[''"''-''^'"'""[""]"']'

其实就是

CODE:
grep '["-^'\''[]]'

即匹配 "至^以及'[ 中任意一个,然后外加一个]字符

[ 本帖最后由 r2007 于 2006-10-10 16:44 编辑 ]



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
  帅哥
法师
呼~~ Zzzzz...



CU编号: 467022
注册:2006-9-18
最后登录: 2009-01-10
帖子:
精华:







来自:老猫流放地
状态:...保密...

[] [] [博客]


[] 顶部
发表于 2006-10-10 17:06 

[ling@test1]>grep '[''"''-''^'"'""[""]"']' bb
asdfkj"-^[]'
"-^[]'
"]
"^-]['
ww"-^w[]klgsdf
[ling@test1]>cat bb
w23fkjgiasfjkl
asdfkj"-^[]'
"-^[]'
"]
]
"^-]['
ww"-^w[]klgsdf
gsdflgjdslf
www-
eqqq^
weqq[
adfa]
wqqqq"
weqqq'



您对本贴的看法:
| |
  帅哥
风云使者
非法用户[论坛禁止访问三个月]



CU编号: 381184
注册:2006-3-5
最后登录: 2009-06-01
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 17:15 

其实我只想说一下没有什么按顺序先放哪后放哪的说法
如果要匹配包涵版主你所讲的全部字符的行少一个都不行的下面有一个

CODE:
grep '[''"''-''^'"[""]"']'"'"   这个写得太长但效果还是和下面一样向r2007版主所说有bug
grep '["-^[]]'"'"      
grep '^"-^[[][]]'"'"'$'       这个是精确匹配 "-^[]' 的行
grep '[^'"'"'][-"]'               非精确的只要有 "-^[]' 就行

[ 本帖最后由 lovesaka 于 2006-10-10 22:31 编辑 ]



您对本贴的看法:
| |
  帅哥
法师
呼~~ Zzzzz...



CU编号: 467022
注册:2006-9-18
最后登录: 2009-01-10
帖子:
精华:







来自:老猫流放地
状态:...保密...

[] [] [博客]


[] 顶部
发表于 2006-10-10 17:27 

粉复杂的说。。



您对本贴的看法:

[] [] [] [] []
(我菜故我在)
天使



CU编号: 307851
注册:2005-8-30
最后登录: 2009-06-14
帖子:
精华:







来自:上庄 上兰 滨城 ...
状态:...保密...

[] [] [博客]


[] 顶部
发表于 2006-10-10 18:14 

复杂的:

CODE:
'\[\|\]\|\-\|\^'



CODE:
[root@test9 yinjh]# echo '[' | grep '\[\|\]\|\-\|\^'
[
[root@test9 yinjh]# echo ']' | grep '\[\|\]\|\-\|\^'
]
[root@test9 yinjh]# echo '-' | grep '\[\|\]\|\-\|\^'
-
[root@test9 yinjh]# echo '^' | grep '\[\|\]\|\-\|\^'
^




您对本贴的看法:

__________________________________

慷慨陈词,岂能皆如人愿;鞠躬尽瘁,但求问心无愧。
春有百花秋有月,夏有凉风冬有雪;若无闲事挂心头,便是人间好时节。
~thegrendel
| |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 22:40 



QUOTE:
原帖由 lovesaka 于 2006-10-10 17:15 发表
其实我只想说一下没有什么按顺序先放哪后放哪的说法
如果要匹配包涵版主你所讲的全部字符的行少一个都不行的下面有一个
grep '[''"''-''^'"[""]"']'"'"   这个写得 ...

是不是说叉道了?
请问grep '[abc123]'代表什么意思?
再问grep 'abc123'呢?
还有grep '[@#!]'呢?
还有grep '[]"^[-]'
等等
原贴探讨的是"-^[]'这些字符在方括号中如何写



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
  帅哥
风云使者
非法用户[论坛禁止访问三个月]



CU编号: 381184
注册:2006-3-5
最后登录: 2009-06-01
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 23:05 

可能是误解了你的意思
但我能确定一下写这个正则有顺序之分吗?望版主指导一下:mrgreen:



您对本贴的看法:
| |
  帅哥 (呆子)
荣誉版主-精灵使
3楼楼长


CU奥运火炬传递手2008
荣誉版主  
CU编号: 115226
注册:2003-11-27
最后登录: 2009-06-15
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 23:17 


两种方法 1种是waker提到的,还有就是shitou9000 说的加backslash
这段有讲
Metacharacters Inside Character Classes



您对本贴的看法:

__________________________________

世上有两种人
一种是痛苦的人   /\../\ ~..~
一种是快乐的猪    (@)  (@)
\~~~^..^  ^. .^~~~/
  (___(oo)   (oo)___)

| |
  帅哥
风云使者
非法用户[论坛禁止访问三个月]



CU编号: 381184
注册:2006-3-5
最后登录: 2009-06-01
帖子:
精华:







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2006-10-10 23:21 



QUOTE:
原帖由 r2007 于 2006-10-10 23:17 发表

两种方法 1种是waker提到的,还有就是shitou9000 说的加backslash
这段有讲
Metacharacters Inside Character Classes

非常感谢



您对本贴的看法:
| |
  帅哥
圣骑士




CU编号: 413616
注册:2006-5-8
最后登录: 2009-06-09
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-3-5 15:01 

越看越晕~~~



您对本贴的看法:
| |

风云使者




CU编号: 692772
注册:2008-4-16
最后登录: 2009-06-05
帖子:
精华:0







状态:...离线...

[] [] [博客]


[] 顶部
发表于 2009-3-5 15:07 

有的字符在[]里的位置有双重意思,放到某些位置就取消了元字符的意思,即只看成普通字符



您对本贴的看法:

__________________________________

GNU sed 版本 4.1.5   
GNU awk 3.1.5
grep 2.5.1
http:://justlooks.8800.org
三个月内一定要找到工作.......
b20c68726c6421686f20776f6848656c6c89e16301b004cd80b00131dbcd80
| |
阅读(570) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~