0

次の形式のデータを含むフラット ファイルがあります。

(1+01:01)
(06:18)
(00:02)

awk を使用して、データが秒単位の場合は合計できます。

16
32
64

cat file | awk '{SUM+=$1} END {print SUM}'

フラットファイルに保存されている値を秒に変換する方法はありますか?

4

2 に答える 2

2

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

esed が実行しているコマンドを確認するには、フラグを残します。

于 2013-02-22T08:52:27.573 に答える
1

これにも使っawkてみませんか?このstackoverflowの回答を確認してください:HH:MM:SS(hours:minutes:seconds.split seconds)を秒に変換する簡単な方法

于 2013-02-22T07:34:37.840 に答える