LinuxSir.cn,穿越时空的Linuxsir!

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

如何实现提取指定行指定字段??

[复制链接]
发表于 2006-12-24 23:52:59 | 显示全部楼层 |阅读模式
例如,有一文本文件result内容如下:
       ********************************************************************** 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
  现在我想提取第九行407.07524不知用grep,sed 还是awk?还请各位老大费心救济一下,多谢!
我再补充一下:
c11=$(sed -n '9p' result| awk '{print $4}')
这样可以达到目的,不过,如果把9换成表示行的变量就不行啦,命令行如下:
n=4
n=$[$n+5]
c11=$(sed -n '$np' result| awk '{print $4}')
这样就不行啦。好生奇怪,恭请大家指点一二,提醒大家一下,那里边的行号我还得务必用变量来表示!先行谢过!!
发表于 2006-12-25 00:53:13 | 显示全部楼层
awk 'NR==行{print $域}' filename
回复 支持 反对

使用道具 举报

 楼主| 发表于 2006-12-25 14:19:17 | 显示全部楼层
c11=$(sed -n '9p' result| awk  '{print $4}')
这样也可以,不过,如果把9换成表示行的变量就不行啦,命令行如下:
n=4
n=$[$n+5]
c11=$(sed -n '$np' result| awk  '{print $4}')
这样就不行啦。好生奇怪,恭请大家指点一二,提醒大家一下,那里边的行号我还得务必用变量来表示!先行谢过!!
回复 支持 反对

使用道具 举报

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

本版积分规则

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