私は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=1
GNUでのみこれを要求しますawk
。そうでなければ、他の実装を認識しません(他の実装に害を与えません{6}
)。awk
GNUsort
保証安定タイプ、
ls -r | sort -ut_ -k 5,5.6
また可能です(5番目のフィールドの予想日)。