我有一个简单的标量文件,可以生成像......
这样的字符串bpred_2lev.ras_rate.PP 0.9413 # RAS prediction rate (i.e., RAS hits/used RAS)
一旦我使用grep在output.txt中找到这一行,有没有办法可以直接获取" 0.9413"一部分?我正在尝试制作一个cvs文件,只需要生成任何值。
提前致谢。
答案 0 :(得分:2)
有几种方法可以将查找和提取结合到单个命令中:
awk
(符合POSIX标准)
awk '$1 == "bpred_2lev.ras_rate.PP" { print $2 }' file
sed
( GNU sed
或 BSD / OSX sed
)
sed -En 's/^bpred_2lev\.ras_rate\.PP +([^ ]+).*$/\1/p' file
GNU grep
grep -Po '^bpred_2lev\.ras_rate\.PP +\K[^ ]+' file
答案 1 :(得分:0)
您可以像这样使用 awk :
grep <your_search_criteria> output.txt | awk '{ print $2 }'