xi...@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)

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

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


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


xi...@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 mailing list
[email protected]
https://lists.ubuntu.com/mailman/listinfo/ubuntu-zh

回复