ユリウス暦の日付を含むファイルのリストがあります。例:XXX_YY_AB21123.TXT
待ってくださいXXX_YY_AB21124.TXT
。今年は何百ものあります。名前に基づいてファイルを検索し、特定の範囲のファイルのみを返す方法が必要です。
例:60から90(2021年3月)
XXX_YY_AB21060
の間で、名前にユリウス暦の日付を含むすべてのファイル名を返します。XXX_YY_AB21090
どんなアイデアがありますか?
ベストアンサー1
特定の日付のユリウス暦の日付を取得する必要がある場合は、date
次の形式を使用できます。GNUを実装した場合、または互換性がある%j
場合は、それを使用して他の形式から変換できます。date
-d
$ date -d "2021/03/01" +%j
060
これを知ったら、globと中かっこ拡張を使って欲しいものを得ることができます。
$ shopt -s nullglob # prevent unmatched globs from returning verbatim
$ printf '%s\n' *_*_*{060..090}.TXT
XXX_YY_AB21060.TXT
XXX_YY_AB21061.TXT
XXX_YY_AB21062.TXT
XXX_YY_AB21063.TXT
XXX_YY_AB21064.TXT
XXX_YY_AB21065.TXT
[...]