LinuxSir.cn,穿越时空的Linuxsir!

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

如何把grep取得的的数值付给某一变量

[复制链接]
发表于 2006-12-21 20:25:27 | 显示全部楼层 |阅读模式
恭请各位老大不吝指教!!先行谢过啦!!劳烦先瞧一下
在/home/wangyl86/work/panju目录下有一文本文件result,其内容如下:
********************************************************************** 0
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     375.23743 +/-   1.977
3   3  3     353.62424 +/-   2.637
4   4  4     112.92800 +/-   0.534 7   1  2     122.72779 +/-   2.250
8   1  3      91.80220 +/-   0.500
********************************************************************** 5
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     391.58150 +/-   0.599
3   3  3     370.01379 +/-   1.705
4   4  4     113.88605 +/-   0.326
7   1  2     143.18264 +/-   0.658
8   1  3     110.38622 +/-   0.757
********************************************************************** 10
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     404.32295 +/-   1.295
3   3  3     374.60252 +/-   1.974
4   4  4     114.63640 +/-   0.222
7   1  2     164.23514 +/-   0.499
8   1  3     131.92856 +/-   0.727
********************************************************************** 15
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     427.62562 +/-   1.060
3   3  3     391.26950 +/-   0.250
4   4  4     116.33133 +/-   0.237
7   1  2     187.57095 +/-   1.091
8   1  3     148.00060 +/-   0.461
********************************************************************** 20
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     444.08943 +/-   0.884
3   3  3     401.27271 +/-   0.431
4   4  4     117.20152 +/-   0.297
7   1  2     207.21355 +/-   0.872
8   1  3     166.55098 +/-   0.429
********************************************************************** 25
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     460.35012 +/-   0.585
3   3  3     409.92769 +/-   0.739
4   4  4     118.25060 +/-   0.204
7   1  2     226.87355 +/-   0.726
8   1  3     186.31434 +/-   0.454
********************************************************************** 30
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     478.36438 +/-   1.959
3   3  3     414.99838 +/-   0.596
4   4  4     119.74840 +/-   0.367
7   1  2     243.76967 +/-   1.984
8   1  3     204.99518 +/-   0.943
********************************************************************** 35
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     494.18840 +/-   2.108
3   3  3     421.45874 +/-   0.469
4   4  4     120.93155 +/-   0.389
7   1  2     263.68667 +/-   2.016
8   1  3     224.51171 +/-   0.912
********************************************************************** 40
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     508.61045 +/-   2.014
3   3  3     424.36114 +/-   0.508
4   4  4     121.55181 +/-   0.276
7   1  2     283.64519 +/-   1.892
8   1  3     244.01567 +/-   0.908
**********************************************************************45
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     523.64267 +/-   1.720
3   3  3     425.78481 +/-   0.679
4   4  4     123.31069 +/-   0.451
7   1  2     301.08624 +/-   1.527
8   1  3     264.00637 +/-   0.604
********************************************************************** 50
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     536.84793 +/-   1.229
3   3  3     421.29519 +/-   0.902
4   4  4     124.62526 +/-   0.343
7   1  2     321.49005 +/-   1.223
8   1  3     284.46960 +/-   0.531
********************************************************************** 55
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     551.30595 +/-   0.887
3   3  3     413.63486 +/-   1.286
4   4  4     127.81521 +/-   0.179
7   1  2     341.84650 +/-   1.073
8   1  3     306.40778 +/-   0.528
********************************************************************** 58
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     559.73712 +/-   0.609
3   3  3     407.07524 +/-   1.105
4   4  4     129.32279 +/-   0.093
7   1  2     353.38950 +/-   0.990
8   1  3     319.11452 +/-   0.480
********************************************************************** 59
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     562.53664 +/-   0.640
3   3  3     403.68905 +/-   1.342
4   4  4     129.87774 +/-   0.110
7   1  2     357.57136 +/-   1.132
8   1  3     323.71710 +/-   0.499
********************************************************************** 60
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     565.15260 +/-   0.657
3   3  3     400.38769 +/-   1.461
4   4  4     130.33631 +/-   0.102
7   1  2     361.71569 +/-   1.123
8   1  3     328.08190 +/-   0.443
********************************************************************** 61
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     567.96333 +/-   0.593
3   3  3     396.94152 +/-   1.053
4   4  4     131.21507 +/-   0.111
7   1  2     365.80610 +/-   1.051
8   1  3     332.69125 +/-   0.562
********************************************************************** 62
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     570.46836 +/-   0.423
3   3  3     393.12067 +/-   1.199
4   4  4     132.27107 +/-   0.186
7   1  2     369.74695 +/-   1.001
8   1  3     337.62937 +/-   0.551
********************************************************************** 63
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     573.12310 +/-   0.321
3   3  3     388.24919 +/-   1.636
4   4  4     133.07181 +/-   0.080
7   1  2     373.85581 +/-   0.897
8   1  3     342.29547 +/-   0.523
********************************************************************** 64
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     575.58833 +/-   0.288
3   3  3     382.22348 +/-   1.326
4   4  4     133.92686 +/-   0.121
7   1  2     378.05757 +/-   0.876
8   1  3     347.42253 +/-   0.514
********************************************************************** 65
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     578.36374 +/-   0.346
3   3  3     375.45462 +/-   1.174
4   4  4     135.72052 +/-   0.130
7   1  2     382.33540 +/-   0.967
8   1  3     353.10470 +/-   0.632
********************************************************************** 70
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     589.04945 +/-   0.222
3   3  3     288.20286 +/-   1.765
4   4  4     149.16445 +/-   0.071
7   1  2     408.88119 +/-   0.928
8   1  3     389.29286 +/-   0.538
********************************************************************** 80
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     608.09055 +/-   1.889
3   3  3     863.37605 +/-   3.661
4   4  4     276.31912 +/-   0.656
7   1  2     586.60636 +/-   1.974
8   1  3     254.17492 +/-   0.328
********************************************************************** 100
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     665.54048 +/-   0.885
3   3  3    1001.88600 +/-   4.047
4   4  4     289.07726 +/-   0.742
7   1  2     685.87155 +/-   2.552
8   1  3     279.26115 +/-   0.368
********************************************************************** 120
  ============================
  Summary of elastic constants
  ============================

id  i  j       Cij (GPa)
1   1  1     723.76814 +/-   0.554
3   3  3    1140.26376 +/-   5.640
4   4  4     301.46686 +/-   0.758
7   1  2     783.45569 +/-   2.603
8   1  3     304.03994 +/-   0.215

我想提取 "********************************************************************** 58" 所在行号并付给变量 n,命令行如下所示:
n=$(grep -nH "********************************************************************** 58"  result | awk -F: '{print $2}')|echo $n
但显示结果如示:133 227 241
133是正确结果,另两个227 241是含有58字符的行号,也就是说,输出的结果是所有含有58字符的行号,这大大违背我的原意啊!
恳请大家不吝指教,谢谢!!
发表于 2006-12-22 02:41:00 | 显示全部楼层
foo=$(grep blabla)
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-24 14:16:53 | 显示全部楼层
谢谢版主的 版主的真诚帮助!!
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-24 19:39:45 | 显示全部楼层
呵呵 是不是因为×是通配符?
回复 支持 反对

使用道具 举报

发表于 2006-12-26 22:13:23 | 显示全部楼层
grep -n "********************************************************************** 58" result | awk -F : '{print $1}'
回复 支持 反对

使用道具 举报

发表于 2006-12-28 13:18:44 | 显示全部楼层
你要知道的是符号*的意思,符号*如果不转义的话代表的是0次或者是多次,如果你想打印文件里的就有的*号的话,那就要用转义的\*了,这才是关键!!!!!语句这样写:n=$(grep -nH "\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*\*58" result | awk -F: '{print $2}')|echo $n或者是n=$(grep -nH "\*58" result | awk -F: '{print $2}')|echo $n,都可以的,这样就只有133是你需要的了。
回复 支持 反对

使用道具 举报

发表于 2006-12-30 00:22:21 | 显示全部楼层
n=`cat *.txt | grep *`
回复 支持 反对

使用道具 举报

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

本版积分规则

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