次の形式のデータを含むフラット ファイルがあります。
(1+01:01)
(06:18)
(00:02)
awk を使用して、データが秒単位の場合は合計できます。
16
32
64
cat file | awk '{SUM+=$1} END {print SUM}'
フラットファイルに保存されている値を秒に変換する方法はありますか?
GNU date は日付の解析に優れていますが、1+01:01
サポートされていません。sed に入力を少し変更させて、それが1 hour + 1 hour + 1 minute
.
GNU grep、sed、date を使用してファイルを解析する方法の 1 つを次に示します。
<infile grep -o '[^()]*' |
sed 's/^([0-9]+)[+-]/\1 hour /;
s/^/date -d "/;
s/$/ 1970-01-01 UTC" +%s/e'
出力:
7260
22680
120
e
sed が実行しているコマンドを確認するには、フラグを残します。
これにも使っawk
てみませんか?このstackoverflowの回答を確認してください:HH:MM:SS(hours:minutes:seconds.split seconds)を秒に変換する簡単な方法