awk で 2 つのファイルを連続して評価しようとしています。最初のファイルの最後で日付を読み取り、その日付を 2 番目のファイルの評価の入力として使用します。残念ながら、最初のファイルの終わりを検出して日付を読み取り、次のファイルの評価を続行する方法を理解するのに問題があります。FNR==NR などの回答が見つかりましたが、残念ながら正しく実装できません。行数をハードコーディングすることで、貧乏人の解決策を試しました。ただし、これはそれほど賢明なことではありません。ただし、2番目のファイルの処理にはまだ問題があります。
BEGIN initalize the counters
{
if(NR==FNR) <<<<<< this is needed to run properly, only NR==FNR fails, why ?!
{
# file_1
do -> from the last line of the first file extract a date
next << what is the meaning of this ??
}
{
# file_2
do -> read every line of the second file
and sum up the values form one of the colums
}
}
END { divide the sum accumulated form file=2
by the time calculated form the last line of file=1}
# for calling the script use :
awk -f SCRIPT file_1 file_2
#example files
# file1 last line
version 1.5 code 11 mpi start /01/12/2014/ 18:33:12 end /01/12/2014/ 20:05:12
#file2
1.28371E-05 0.2060 0.2060 -8 -8 0 0 0
1.91616E-05 0.1927 0.1927 -7 -8 0 0 0
1.27306E-05 0.1567 0.1567 -6 -8 0 0 0
2.11623E-05 0.1523 0.1523 -5 -8 0 0 0
1.67914E-05 0.1721 0.1721 -4 -8 0 0 0
1.47247E-05 0.1851 0.1851 -3 -8 0 0 0
1.32049E-05 0.1919 0.1919 -2 -8 0 0 0
1.81256E-05 0.2130 0.2130 -1 -8 0 0 0
2.63500E-05 0.1745 0.1745 0 -8 0 0 0
1.99232E-05 0.1592 0.1592 1 -8 0 0 0
2.08924E-05 0.1537 0.1537 2 -8 0 0 0
2.44922E-05 0.1459 0.1459 3 -8 0 0 0
2.53759E-05 0.1902 0.1902 4 -8 0 0 0
2.30230E-05 0.1708 0.1708 5 -8 0 0 0
2.10723E-05 0.1636 0.1636 6 -8 0 0 0
1.86613E-05 0.1915 0.1915 7 -8 0 0 0
2.05359E-05 0.1649 0.1649 8 -8 0 0 0
1.09533E-05 0.1765 0.1765 -8 -7 0 0 0
1.56917E-05 0.1740 0.1740 -7 -7 0 0 0
1.52199E-05 0.2145 0.2145 -6 -7 0 0 0
.....
助けていただければ幸いです、よろしくお願いします
アレックス