首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >从表中打印数字

从表中打印数字
EN

Unix & Linux用户
提问于 2019-05-22 02:43:06
回答 1查看 65关注 0票数 0

请问这张桌子上有四个号码?原来的输入要长得多,所以有必要限制面积。

输入:

代码语言:javascript
运行
复制
chil           2   44843.084886752418        44843.080972494339       0.38261625919046571     

o 0  1 0 1 1      5.732820000     0.000 = PERIOD(0)
o 0  2 0 1 1  54002.864912732     0.000 = PERIASTRON EPOCH
o 0  3 0 1 1      0.086796671     0.000 = ECCENTRICITY
o 0  4 0 1 1    151.562809500     0.020 = PERIASTRON LONG.
o 0  5 0 1 1    107.927001263     0.053 = K1
o 0  6 0 1 1      0.418206121     0.000 = q = M2/M1,  K2 =  258.071309
o 0  7 0 1 1      0.004220000     0.000 = d omega/dt
o 0  8 0 1 1      0.000000000     0.100 = d P/dt
o 0  9 0 1 1      0.000000000     0.100 = d e/dt
o 0 10 0 1 1      0.000000000     0.100 = d K1/dt
o 0 11 0 1 1      0.000000000     0.100 = d q/dt

o 2  1 0 1 1  99000.000000000  1650.000 = PERIOD(2)
o 2  2 0 1 1  39254.892879388  -984.000 = PERIASTRON EPOCH
o 2  3 0 1 1      0.770000000     0.010 = ECCENTRICITY
o 2  4 0 1 1     68.284996369    -6.000 = PERIASTRON LONG.

期望输出

代码语言:javascript
运行
复制
0.086796671
151.562809500
107.927001263
0.418206121

我试过没成功

代码语言:javascript
运行
复制
/o 0  1 0 1 1      5.732820000     0.000 = PERIOD(0)/ { c=FNR;}
(FNR-c>=2 && c>0) {$2 ~ /\<0\>/ $3 ~ /\<3|4|5|6\>/ { print $7}

我想说的是:如果第二栏为0,第三栏为3、4、5、6,则打印第7栏

EN

回答 1

Unix & Linux用户

回答已采纳

发布于 2019-05-22 03:19:44

代码语言:javascript
运行
复制
awk '$2==0 && $3~/^[3456]$/{print $7}' data

<#>更新

仅限于某些地区:

代码语言:javascript
运行
复制
awk '/o 0  1 0 1 1      5.732820000     0.000 = PERIOD\(0\)/ {b=1}
     b && $2==0 && $3~/^[3456]$/{print $7}
     b && $3==6 { b=0 }' data
票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/520308

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档