2017-08-04 15 views
-2

私はログを作成していて、logstashにプッシュしています。 logstashサーバーの日付形式は、以下の宛先形式です。 Linuxサーバーでは、dateコマンドを使用してローカル日付/時刻をログファイルに変換できます。 dateコマンドを使用してLinuxサーバーで以下のフォーマットを取得する方法。以下のコマンドの形式は何ですか?私はTZ = 'CEST' date + "%field"のようにフォーマットを設定することができます。私は書式をいくつか指定しようとしましたが、月の日付で文字列 'th'を取得できませんでした。また、私は最後のフィールド '221'を日付で理解していません。どんな助け?日付を指定されたフォーマットに変換するlinux

先サーバー形式:8月4日2017、22:30:45.221

+1

最後のフィールドには分数秒が含まれます(つまり、最後のフィールドは '45.221'秒です)。ログアッシュ・サーバーでサポートされているのは唯一のフォーマットですか?それは珍しいことです。 – larsks

+1

https://stackoverflow.com/questions/2495459/formatting-the-date-in-unix-to-include-suffix-on-day-st-nd-rd-and-th –

答えて

1

このコードを試してみてください。今の

#!/bin/sh 
DaySuffix() { 
    case `date +%d` in 
    1|21|31) echo "st";; 
    2|22) echo "nd";; 
    3|23) echo "rd";; 
    *)  echo "th";; 
    esac 
} 
date "+%B %-d`DaySuffix` %Y, %T.%3N" 

結果:8月4日2017、12:04:49.750

ヘルプをソース:Formatting the date in unix to include suffix on day (st, nd, rd and th)

+0

IKrom @これはスマートなアプローチですフォーマットしてユーザー定義の日付形式を取得します。 @jww - 私は、bashスクリプトのdateコマンドを使用して、bashスクリプトのコマンド出力に日付を入力しています。そこでここに投稿しました。 – arunp

+0

@arunp答えが緑色の旗であれば、その答えが表示されます。ありがとう)。 – Ikrom

+0

はいそれは動作します。緑がかった。 – arunp

関連する問題