前提・実現したいこと
特定のファイル名に日付をつけて保存するシステムを作りました。(AAA_YYYMMDDHHmmss.txt)
ファイル名の日付で最新のファイルを取得したいので「ls」コマンドで実現していました。
しかし、万単位で大量のファイルが作られていることがあり「ls」コマンドではエラーが出て機能を一時停止しています。
別の実現方法を探しているのですが、どうもうまくいかずに困っており、質問させていただきました。
lsコマンドでも、エラーが出ないようにできればいいのですが…。
ちなみに、更新順では要件を満たせない状態ですので、文字列ソートを使用するのかなと思っておりました…。
data
├AAA
|├AAA_20180101235959.txt
|├AAA_20181001235959.txt
|└AAA_20181201235959.txt //このファイルが欲しい
|
└BBB
├BBB_20180101235959.txt
├BBB_20181001235959.txt
└BBB_20181201235959.txt //このファイルが欲しい
発生している問題・エラーメッセージ
「引数が多すぎます」
該当のソースコード
Linuxコマンド
1ls -v /AAA/AAA_*.txt | head -1 2ls -v /BBB/BBB_*.txt | head -1
試したこと
軽くする方法、というので試したものの、思う結果にたどり着けなかったコマンド
ls -v -U /AAA/AAA_*.txt | head -1
結果が返ってこなくなってしまったコマンド
find /AAA/ -type f | grep "AAA-.txt" | head -1 //ひとまず試しのつもりでした…
find /AAA/ -type f -regex "AAA-.txt" | sort -n | head -1
補足情報(FW/ツールのバージョンなど)
万単位で大量のファイルが作られていること
これは一時的に回避ができない状態であると判明しています。(削除間隔は調整していますが、どうしても発生し得るものになります)
更新順では要件を満たせない状態
お恥ずかしい話ですが、ファイル内容を手動で変更をする手順が存在し、今のところ更新順では欲しいファイルが取得できません。
手順の是正が後回しにしたためにこのようなことになっているのは理解しております…。
回答4件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2018/07/19 09:15