LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 571|回复: 4

求助:提取行号有点出入,恭请各位朋友指点迷津

[复制链接]
发表于 2007-1-1 16:15:59 | 显示全部楼层 |阅读模式
有一文本文件GB,其内容如下:
   G          B
******************P= 0
136.30960 190.38455
******************P= 5
135.76039 208.61451
******************P= 10
133.39609 226.06144
******************P= 15
134.53847 245.16657
******************P= 20
133.88448 262.35811
******************P= 25
133.11973 279.86156
******************P= 30
133.67447 296.10937
******************P= 35
132.70722 313.04688
******************P= 40
130.90885 329.09339
******************P= 45
130.36599 344.65525
******************P= 50
128.04804 359.38771
******************P= 55
126.70398 373.88764
   
   我想提取******************P= 5所在行号,命令行编写如下:
n=$(grep -nH "******************P= "5   /home/wangyl86/work/result/GB | awk -F: '{print $2}')
其中,/home/wangyl86/work/result/GB是GB所在目录路径,执行过程如下:
[wangyl@:~] $ n=$(grep -nH "******************P= "5 /home/wangyl86/work/result/GB | awk -F: '{print $2}')
[wangyl@:~] $ echo $n
4 22 24 26 28
正确结果应该只有4才对,烦请各位老大指教一二, 不胜感激!!
发表于 2007-1-1 16:57:28 | 显示全部楼层
n=$(grep -nH "******************P= "5$ /home/wangyl86/work/result/GB | awk -F: '{print $2}')




n=$(sed -n '/P= 5$/=' /home/wangyl86/work/result/GB)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-1 17:13:13 | 显示全部楼层
非常感谢 grassofhust的真诚帮助,按照您的方法我已经妥善解决了该问题。我再恳请哪位朋友指点一下实数的开根问题。比如三次根号下27,seamonkey朋友已提供了一种方法:
echo 'e(l(27)/3)' | bc -l
还有别的方法吗?
回复 支持 反对

使用道具 举报

发表于 2007-1-2 12:13:57 | 显示全部楼层
python -c "print 27**(1.0/3.0)"
回复 支持 反对

使用道具 举报

 楼主| 发表于 2007-1-2 14:22:24 | 显示全部楼层
感谢sprite提供的帮助,也感谢其他曾经无私帮助过我的各位朋友,祝咱们的论坛越办越好!!
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表