年間隔でランダムな日付シーケンスを生成するには?

年間隔でランダムな日付シーケンスを生成するには?

ここで必要なのは、年の範囲(1987〜2017)に基づいて6つの日付を生成するコマンドです。たとえば、

12/10/1987
30/04/1998
22/02/2014
17/08/2017
19/07/2011
14/05/2004

sedどうすればいいですかgawk

ベストアンサー1

そしてdateshufそしてxargs

開始日と終了日を「1970-01-01 00:00:00 UTC以降の秒」に変換し、それを使用してshufこの範囲内の任意の6つの値を印刷します。この結果をパイプしxargs、値を目的の日付形式に変換します。

編集する:出力に2017年の日付を含めるには、2017-12-31 23:59:59終了日に年-1()を追加する必要があります。shuf -i開始と終了を含む乱数を生成します。

shuf -n6 -i$(date -d '1987-01-01' '+%s')-$(date -d '2017-01-01' '+%s')\
 | xargs -I{} date -d '@{}' '+%d/%m/%Y'

出力例:

07/12/1988
22/04/2012
24/09/2012
27/08/2000
19/01/2008
21/10/1994

おすすめ記事