毎月の日付と時刻のスタンプを含む最新のファイルをインポートする必要があります。

毎月の日付と時刻のスタンプを含む最新のファイルをインポートする必要があります。

私はUnixプログラミングを始めましたが、要件があります。ランディングゾーンに4つのファイルがあり、その月と年の最新のファイルをインポートするにはスケジューラが必要です。

たとえば、

FILE_NR_WEEKLY_01_20130528_CHARGE

FILE_NR_WEEKLY_01_20130530_CHARGE--> This needs to be picked 1st for may month

FILE_NR_WEEKLY_01_20130601_CHARGE

FILE_NR_WEEKLY_01_20130604_CHARGE -->This needs to be picked up for June month

上記の年、月、日の組み合わせが与えられたら、最新のファイルをインポートする必要があります。

ベストアンサー1

あなたが提供した抜粋は次のとおりです。

ls -r | POSIXLY_CORRECT=1 awk '
  match($0,"20[0-9]{6}") && !n[substr($0,RSTART,6)]++'

動作します。POSIXLY_CORRECT=1GNUでのみこれを要求しますawk。そうでなければ、他の実装を認識しません(他の実装に害を与えません{6})。awk

GNUsort保証安定タイプ、

ls -r | sort -ut_ -k 5,5.6

また可能です(5番目のフィールドの予想日)。

おすすめ記事