2016-04-07 22 views
0

タイムスタンプを取り、それを半文に変換するツールがありますか?文章のタイムスタンプ

サンプルタイムスタンプ:

2016年3月25日11時33分16秒AM

サンプル出力:11時33分AMで

3/25に。

また、2つのタイムスタンプをどのように考慮することができますか。

サンプル2

./TimeStampTool.sh 03/25/2016 11:32:05 AM 03/25/2016 11:33:16 AM 

サンプル2出力:

3/25のAM 11:32の間と11時33分。

スクリプトこれまで

#!/bin/bash <br/> 
if [ -n $4 ] <br/> 
echo "between '$2 $3' and '$5 $6' on '$1'." <br/> 
elif <br/> 
echo "at '$2 $3' on '$1'." <br/> 
exit 
+1

'date'コマンドは必要なものすべてを実行しませんか?入力タイムスタンプを解析し、さまざまな方法で出力をフォーマットすることができます。 – Barmar

+0

他のログからタイムスタンプを貼り付けています。 –

+0

だから?あなたがそれらを手に入れる場所はどのような違いがありますか? 'date'コマンドは、最も一般的な日時フォーマットを解析することができます。 – Barmar

答えて

0

異なるフォーマットにスタンプ、単一ラインbashスクリプト

date -d "$1" +'at %T on %m/%d' 

スクリプトは、タイムスタンプの日が同じであると仮定し、あるスタンプは検出されませんのでご注意

$ sh tst.sh '03/25/2016 11:32:05 AM' '03/25/2016 11:33:16 AM' 
between 11:32:05 and 11:33:16 on on 03/25 
$ more tst.sh 

t1=`date -d "$1" +'%T'` 
t2=`date -d "$2" +'%T'` 

day=`date -d "$1" +'on %m/%d'` 

echo "between $t1 and $t2 on $day" 

スクリプト「の間に」最初に

0

これにパイプを、そしてあなたの更なるニーズの編集:

| sed -r -e 's/^[^ ]+ /at /g' -e 's/:..//g' 

正規表現が最も効率的ではありませんが、あなたはすぐに調整することができます。