仅在某些字符之后将值从文件复制到新文件

仅在某些字符之后将值从文件复制到新文件

我有一个具有以下格式的文件:

Reading frame    3000 time 30000.000   ^MReading frame    3000 time 30000.000   mu  8.788e+00 <mu>  2.945e-03

我想将仅在 mu 之后的值粘贴到新文件中,该文件将具有以下所需输出:

8.788e+00

我尝试了以下命令但没有成功

grep "mu" filename1 | sed 's/^.* //' > filename2

答案1

使用sed

sed -n -E 's/.*mu +([0-9.e+-]+) .*/\1/p' file

正则表达式期望字符串mu和数字在一起。

答案2

awk '{for(i=1;i<=NF;i++)if($i == "mu")print $(i+1)}' file

相关内容