[Ubuntu-zh] 脚本问题(小问题)

listofx listofx在gmail.com
星期四 六月 17 12:56:57 BST 2010


xiang在xiang-laptop:~/tmp$ cat a
python-gtk2-dev (2.17.0-0ubuntu2), libgladeui-1-9 (3.7.0.is.3.6.7-0ubuntu1), python-gtk2-doc (2.17.0-0ubuntu2)

xiang在xiang-laptop:~/tmp$ cat a |sed 's/(.*)//g'
python-gtk2-dev 

xiang在xiang-laptop:~/tmp$ cat a |sed 's/.*//g'


xiang在xiang-laptop:~/tmp$ cat a |sed 's/\(.*\)//g'


xiang在xiang-laptop:~/tmp$ 
谁能告诉我后面三个怎么理解。我的理解是
1. cat a |sed 's/(.*)//g' 单引号屏蔽了shell对里面任何字符的解释,结果就
是sed接收到s/(.*)//g的请求,我认为()在这里会被认为是括号,由sed解释,
但是从上面的结果看,我的理解是错误的。

2. 第二个不解释

3. 从关于1的解释,其实sed 's/\(.*\)//g'的写法才是我想要的,因为我理解
shell将s/\(.*\)//g传给sed,sed自己在将转义字符\进行解释,结果就是查找以
括号开始的一段文本(同时,以括号结束)。




关于邮件列表 ubuntu-zh 的更多信息