Chinaunix

标题: 求一shell [打印本页]

作者: aae2008_lbh    时间: 2008-10-08 18:16
标题: 求一shell
文本:
The CPU performs like a 800Mhz Intel Pentium III Model 7
取到Mhz前面的主频数
文本的字符的位置都是不定的。
作者: 寂寞烈火    时间: 2008-10-08 18:24
cat ur-file  | grep -o '[0-9]\+Mhz' | grep -o '[0-9]\+'
作者: aae2008_lbh    时间: 2008-10-08 20:00
在sco unix上没有-o这个参数
作者: leetaedong    时间: 2008-10-08 20:14
awk '{for(i=1;i<=NF;i++){if($i~/Mhz/){print $i+0}}}' urfile
作者: springwind426    时间: 2008-10-08 20:16

  1. sed 's/.* \([0-9]*\)Mhz.*/\1/' 文本文件

  2. 如果文本文件不止一行,那么用
  3. sed '/[0-9]*Mhz/!d;s/.* \([0-9]*\)Mhz.*/\1/' 文本文件
复制代码


注:.*后面有一个空格

[ 本帖最后由 springwind426 于 2008-10-8 20:33 编辑 ]
作者: xy_ninesuns    时间: 2008-10-08 20:55
原帖由 leetaedong 于 2008-10-8 20:14 发表
awk '{for(i=1;i


请问 $i+0 怎么解释?谢谢。
作者: xwmhmily    时间: 2008-10-08 21:11
sed -n 's/.* \([0-9]*\)Mhz.*/\1/p'  ufile
作者: aae2008_lbh    时间: 2008-10-09 09:28
问题已经解决!
作者: shaneqi    时间: 2008-10-09 10:21
原帖由 xy_ninesuns 于 2008-10-8 20:55 发表


请问 $i+0 怎么解释?谢谢。

就是数字加0
作者: xy_ninesuns    时间: 2008-10-10 09:33
原帖由 shaneqi 于 2008-10-9 10:21 发表

就是数字加0


$i 应该是800Mhz
+0后为什么就是800了?麻烦你再解释下。谢谢。




欢迎光临 Chinaunix (http://bbs.chinaunix.net/) Powered by Discuz! X3.2