1. ホーム
  2. linux

[解決済み] 指定した時間より新しいファイルを再帰的に検索する [終了しました]

2023-04-25 09:47:05

質問

与えられた time_t:

⚡ date -ur 1312603983
Sat  6 Aug 2011 04:13:03 UTC

私は、より新しいファイルをすべてリストアップするbashワンライナーを探しています。比較はタイムゾーンを考慮する必要があります。

のようなものです。

find . --newer 1312603983

しかし time_t の代わりに

どのように解決するのですか?

これは少し回りくどいですが、なぜなら touch は生の time_t の値は取れませんが、スクリプトの中ではかなり安全に仕事をこなせるはずです。 (この -r オプションから date はMacOS Xに存在します。GNUでは再確認していません)。 変数 'time' は、コマンド置換を直接 touch コマンド ラインに直接記述することで回避できます。

time=$(date -r 1312603983 '+%Y%m%d%H%M.%S')
marker=/tmp/marker.$$
trap "rm -f $marker; exit 1" 0 1 2 3 13 15
touch -t $time $marker
find . -type f -newer $marker
rm -f $marker
trap 0