0

私は2つの変数を持っており、それらは次の値に割り当てられています

Start_time=Start time: [Wed Mar 13 00:18:06 2013]

End_time=End time: [Wed Mar 13 00:18:12 2013]

ここで、End_Time から Start_time を減算する必要があります。そのため、最初に他の文字列を削除し、日付を減算を実行できる形式に変換する必要があります。

文字列を削除するために、次のsed関数を使用しました

echo "Start time: [Wed Mar 13 00:18:06 2013]" | sed -e 's|Start time:||'

[Wed Mar 13 00:18:06 2013]

別の sed 関数を使用せずにブラケットを削除するにはどうすればよいですか。

また、これを減算操作を実行できる日付形式に変換する方法を教えてください。

4

1 に答える 1

0

sed ステートメントは次のようになります。

sed -e 's|Start time: \[||;s/\]//'

gnu date を使用すると、使用する日付を指定し、UNIX タイムスタンプに変換できます (ハードコードされた値を変数に置き換えます)。

bll@bll-desktop ~
$ a=$(date --date="Wed Mar 13 00:18:06 2013" '+%s')

bll@bll-desktop ~
$ b=$(date --date="Wed Mar 13 00:18:12 2013" '+%s')

そして、差を秒単位で取得します。

bll@bll-desktop ~
$ d=$(($b - $a))

bll@bll-desktop ~
$ echo $d
6
于 2013-03-13T22:31:42.513 に答える