如何在Bash中提取文件内Bayesian Information Criterion后的内容存入变量
提取Bayesian信息准则后内容到变量的Bash方案
给你几个直接能用的方法,解决提取需求:
方法1:grep + cut组合
先用grep定位目标行,再用cut拆分冒号后的内容,最后存入变量:
The_variable=$(grep "Bayesian Information Criterion:" your_file.txt | cut -d':' -f2 | xargs)
cut -d':' -f2:以冒号为分隔符,截取第2段内容xargs:自动去除内容前后的多余空格
方法2:sed精准匹配提取
如果之前sed操作失败,大概率是正则写法问题,试试这个精准匹配版本:
The_variable=$(sed -n 's/^.*Bayesian Information Criterion: *//p' your_file.txt)
-n:只输出匹配到的结果- 正则部分会把行首到"Bayesian Information Criterion:"(包括后面可能的空格)的内容全部替换为空,剩下的就是目标值
方法3:awk灵活分割提取
awk处理字段分割更省心,适合这类场景:
The_variable=$(awk -F': *' '/Bayesian Information Criterion:/{print $2}' your_file.txt)
-F': *':把“冒号+任意空格”设为字段分隔符- 定位到目标行后,直接打印分割后的第2个字段
验证变量内容是否正确,执行:
echo $The_variable
内容的提问来源于stack exchange,提问作者chippycentra
相关产品推荐
相关产品推荐

