当前时区为 UTC + 8 小时



发表新帖 回复这个主题  [ 9 篇帖子 ] 
作者 内容
1 楼 
 文章标题 : 关于sed的
帖子发表于 : 2007-12-11 16:31 

注册: 2006-11-29 14:50
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
小弟刚学脚本,想请教一下下面这句什么意思,谢谢。
sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)/\1/p"


页首
 用户资料  
 
2 楼 
 文章标题 :
帖子发表于 : 2007-12-12 9:50 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
替换并打印。

\1 替代 [a-z]*[0-9][0-9]*


页首
 用户资料  
 
3 楼 
 文章标题 :
帖子发表于 : 2007-12-13 14:38 

注册: 2006-11-29 14:50
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
\1 替代 [a-z]*[0-9][0-9]* ?

可sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)/\1/p" /proc/partitions 得到的是分区名呀?我主要是不太明白这前面一段是什么意思


页首
 用户资料  
 
4 楼 
 文章标题 :
帖子发表于 : 2007-12-13 16:35 

注册: 2006-07-09 12:22
帖子: 1331
地址: 南京
送出感谢: 0 次
接收感谢: 1
loogson 写道:
\1 替代 [a-z]*[0-9][0-9]* ?

可sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)/\1/p" /proc/partitions 得到的是分区名呀?我主要是不太明白这前面一段是什么意思

前面一段配匹了一堆空格+数字+字母的东东,有什么不太明白的呢?

要得到分区名,直接awk不就行了?这sed用的,牛x了点,呵呵。
代码:
awk '{print $4}' /proc/partitions


页首
 用户资料  
 
5 楼 
 文章标题 :
帖子发表于 : 2007-12-13 17:27 

注册: 2006-11-29 14:50
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
aBiNg 写道:
loogson 写道:
\1 替代 [a-z]*[0-9][0-9]* ?

可sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)/\1/p" /proc/partitions 得到的是分区名呀?我主要是不太明白这前面一段是什么意思

前面一段配匹了一堆空格+数字+字母的东东,有什么不太明白的呢?

要得到分区名,直接awk不就行了?这sed用的,牛x了点,呵呵。
代码:
awk '{print $4}' /proc/partitions


geexbox里的,我也觉得写这脚本的人有点牛X,呵。请教一下/p前面的\1是什么意思?

我看sed替换的格式是 s/ pattern-to-find /replacement-pattern/ 所以不知道上面哪些是pattern-to-find 哪块是replacement-pattern,别见笑,我刚学脚本,希望指教,谢谢


页首
 用户资料  
 
6 楼 
 文章标题 :
帖子发表于 : 2007-12-13 17:48 
头像

注册: 2006-04-12 20:05
帖子: 8495
地址: 杭州
送出感谢: 0 次
接收感谢: 8
loogson 写道:
aBiNg 写道:
loogson 写道:
\1 替代 [a-z]*[0-9][0-9]* ?

可sed -n "s/\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)/\1/p" /proc/partitions 得到的是分区名呀?我主要是不太明白这前面一段是什么意思

前面一段配匹了一堆空格+数字+字母的东东,有什么不太明白的呢?

要得到分区名,直接awk不就行了?这sed用的,牛x了点,呵呵。
代码:
awk '{print $4}' /proc/partitions


geexbox里的,我也觉得写这脚本的人有点牛X,呵。请教一下/p前面的\1是什么意思?

我看sed替换的格式是 s/ pattern-to-find /replacement-pattern/ 所以不知道上面哪些是pattern-to-find 哪块是replacement-pattern,别见笑,我刚学脚本,希望指教,谢谢


pattern-to-find=
代码:
\ *[0-9][0-9]*\ *[0-9][0-9]*\ *[0-9][0-9][0-9]*\ \([a-z]*[0-9][0-9]*\)

replacement-pattern=
代码:
\1

\1 等于前面的括号里面的内容.


_________________
关注我的blog: ε==3


页首
 用户资料  
 
7 楼 
 文章标题 :
帖子发表于 : 2007-12-13 18:51 

注册: 2006-11-29 14:50
帖子: 15
送出感谢: 0 次
接收感谢: 0 次
有点明白了,谢谢。
还有一点不明白,[0-9][0-9]不是指两位数字吗?那[a-z]*[0-9][0-9]*怎么会匹配sda1呢?sda1不是只有一位数字?希望赐教,谢谢。
另外,echo "1111122223333"|sed "s/*/test/"不知怎么没有实现我的本意:将字符替换成test,后来查到必需是echo "1111122223333"|sed "s/.*/test/"加了个点,不知为什么?


页首
 用户资料  
 
8 楼 
 文章标题 :
帖子发表于 : 2007-12-13 19:33 
头像

注册: 2006-07-02 11:16
帖子: 12522
地址: 廣州
送出感谢: 0 次
接收感谢: 8
没见过 sed 用得这么累的..
代码:
sed -nr "s/^(\s+\S+){3}\s+(\S+)/\2/p" /proc/partitions


_________________
^_^ ~~~
要理解递归,首先要理解递归。

地球人都知道,理论上,理论跟实际是没有差别的,但实际上,理论跟实际的差别是相当大滴。


页首
 用户资料  
 
9 楼 
 文章标题 :
帖子发表于 : 2008-01-10 0:37 

注册: 2008-01-10 0:02
帖子: 20
送出感谢: 0 次
接收感谢: 0 次
loogson 写道:
有点明白了,谢谢。
还有一点不明白,[0-9][0-9]不是指两位数字吗?那[a-z]*[0-9][0-9]*怎么会匹配sda1呢?sda1不是只有一位数字?希望赐教,谢谢。
另外,echo "1111122223333"|sed "s/*/test/"不知怎么没有实现我的本意:将字符替换成test,后来查到必需是echo "1111122223333"|sed "s/.*/test/"加了个点,不知为什么?

*=0..n


_________________
welcome to my blog
http://guocongbin.iblog.com
http://blog.csdn.net/guocongbin


页首
 用户资料  
 
显示帖子 :  排序  
发表新帖 回复这个主题  [ 9 篇帖子 ] 

当前时区为 UTC + 8 小时


在线用户

正在浏览此版面的用户:没有注册用户 和 2 位游客


不能 在这个版面发表主题
不能 在这个版面回复主题
不能 在这个版面编辑帖子
不能 在这个版面删除帖子
不能 在这个版面提交附件

前往 :  
本站点为公益性站点,用于推广开源自由软件,由 DiaHosting VPSBudgetVM VPS 提供服务。
我们认为:软件应可免费取得,软件工具在各种语言环境下皆可使用,且不会有任何功能上的差异;
人们应有定制和修改软件的自由,且方式不受限制,只要他们自认为合适。

Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
简体中文语系由 王笑宇 翻译