飛行時間、時間、分をコロンで区切って、1行に1つずつ含むテキストファイルがあります。
00:50
00:41
00:43
00:50
01:24
私は現在、AppleのNumbersアプリを使用して単純な公式で合計時間を計算しています(結果は次のとおりです)。4:28上記のサンプルデータの場合)。
しかし、これを達成するより簡単な方法があるかどうか疑問に思います。 Perlスクリプトはうまく機能しますが、Unixシェルコマンドやスクリプトを使用するのはどうですか?私は基本的に短いものを探しています。
はい、数字で管理することはできますが、知って学んでおくと良いと思います:)。
ps他の人が必要な場合に備えて、Perlスクリプトを投稿してください。
#! /usr/bin/perl
while (<>) {
chomp;
($hours, $minutes) = split (/:/, $_);
$totalhours += $hours;
$totalminutes += $minutes;
}
while ($totalminutes > 59) {
$totalhours++;
$totalminutes -= 60;
}
printf ("%d:%02d\n", $totalhours, $totalminutes);
ベストアンサー1
あなたが知っているように、多くの可能性があります。 awkを含む次のバージョンは、あなたの質問に含まれているPerlとほぼ同じです。
(GNU awkを使用):
awk -F : '{acch+=$1;accm+=$2;} ENDFILE { \ print acch+int(accm/60) ":" accm%60; }' [inputfile]
(「POSIX」awkを使用):
awk -F : '{acch+=$1;accm+=$2;print acch+int(accm/60) \ ":" accm%60; }' [inputfile] | tail -1