我正在处理一个包含以下内容的.txt文件:
###################################################
Optimization for H260_ptyy275tau42.475C1.08_Analyzed.root
SOME TEXT
ptyy > -25
Significance: 1.79789e-05 +- 7.31008e-08
N_sig: 3.30335e-05 +- 3.15914e-05; N_SMbkg: 1.61124 +- 0.0612171; N_yyBackground: 1.76462 +- 0.469689
Fit function f=exp(a+b*x) with a = 0.567933 +- 0.266166 and b = -1.58821e-09 +- 0.00982024
Fit = 1.76462+-0.469689, sbL = 21+-4.58258 & sbT = 1+-1
MORE TEXT AND NUMBERS
我现在想读入N_sig之后的数字,直到0.469689,每个数字都有一个不同的变量。使用.sh或python脚本最简单的方法是什么?
最佳答案
使用GNU grep、bash和数组:
mapfile -t array < <(grep ^N_sig file | grep -oE '[0-9.e-]{2,}')
declare -p array
输出:
声明-a数组='([0]=“3.30335e-05”[1]=“3.15914e-05”[2]=“1.61124”[3]=“0.0612171”[4]=“1.76462”[5]=“0.469689”)'
关于linux - 用脚本读取数字的最简单方法,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/44932830/