画像解析などをしていると、しばしば、「今の作業で新しくできたファイルは何だろう?」と思うことがあります。
Linuxでは、find コマンドに、-newer というオプションがあります。findのmanページには以下の記載があります。
-newer file
ファイルが file よりも最近に内容を更新されていれば、真を返す。
であるならば、あるファイルを作成して、作業をして、その後に、findをかければ列挙できるはずです。
いろいろ調べた結果、touchコマンドで -t オプションを使うとタイムスタンプを決められるので、それをスクリプトに組み込めるなと思いました。
以下のスクリプトで、新たに生成されたファイルの一覧が generated_from_タイムスタンプ.txt に作成されます。
#!/bin/bash
#generate timestamp
ts=$(date +%Y%m%d%H%M.%S)
#generate a temporary file with current timestamp for find
touch -t $ts /tmp/_timestamp
# BEGIN commands to generate new files
#
# END
# list files which is generated after /tmp/_timestamp
find . -type f -newer /tmp/_timestamp | tee -a generated_from_${ts}.txt