
次の形式のファイルがあります。
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