今日(00:00)以前に作成された現在のディレクトリでファイルを検索または一覧表示します。

今日(00:00)以前に作成された現在のディレクトリでファイルを検索または一覧表示します。

私は成功せずにこれを徹底的に検索してきました。今日00:00より前に作成された現在のディレクトリ(サブディレクトリを除く)のファイルのリストを取得するには、Macでターミナルコマンドを使用する必要があります。

システム: MacOS カタリナ

ありがとうございました、EG

答え1

find . ! -name . -prune ! -newermt 00:00

今朝00:00より前に最後に変更されたファイル(ディレクトリを含むすべての種類)が報告されます。

find . ! -name . -prune ! -newerBt 00:00

報告書生まれる今朝00:00より前。

前者は生成時間の関数としてより関連性が高い。コンテンツファイルが作成された時間を示すファイル名です(ただし、必ずしもその名前である必要はなく、ファイルは最初に空の状態で作成され、内容は後で追加されることに注意してください)。

これはFreeBSDで動作しますfind。 macOSユーティリティはしばしばFreeBSDに基づいているため、macOSでも機能する必要があると思います。

zsh(使用して時間の変更):

autoload before
print -rC1 -- *(Ne[before 00:00])

シンボリックリンクの場合、これらのfindメソッドはシンボリックリンク自体のタイムスタンプを確認しますが、zsh関数beforeは自分が指すファイルを確認します。と同じ動作を得る-Lためにオプションを追加できます。findzsh

POSIXlyでは、次のことができます。

touch -t "$(date +%Y%m%d0000)" ~/.today &&
  find -L . ! -name . -prune ! -newer ~/.today

答え2

非常に簡単な方法は、このユーティリティを使用してfindフィルタリングしたい日付を検索することです。たとえば、すべてのファイルを検索するとします。修正済み5月24日には、次のことができます。

$ find . -type f -ls | grep "May 24"

フルダンプではなくファイル名のみを希望する場合は、以下を使用できますxargs

$ find . -type f -ls | grep -o "May 24.*" | awk '{print $4}' | xargs basename

runを使用したときにfind表示-lsされる時間はファイルです。改訂する代わりに時間作る日付。

答え3

出力を制限するために、例えば「-d'9 days ago」を入力しました。明らかにスクリプトに入れて診断を消去します。私は配列を使用しているので、lsは一度だけ実行できます。この配列は、次の手順にも役立ちます。

Paul--) #.. Get a timestamp in touch format.
Paul--) Midnight="$( date -d '9 days ago' '+%Y%m%d0000.00' )"
Paul--) declare -p Midnight
declare -- Midnight="202005160000.00"
Paul--) #.. Make a reference file.
Paul--) touch -t "${Midnight}" refDate.tmp
Paul--) ls -l refDate.tmp
-rw-r--r-- 1 paul paul 0 May 16 00:00 refDate.tmp
Paul--) #.. Add olderThan Names to an array.
Paul--) for fn in *; do
    [[ -f "${fn}" && "${fn}" -ot refDate.tmp ]] &&
        Want+=( "${fn}" )
done
Paul--) echo Count ${#Want[@]}
Count 7
Paul--) #.. List the files.
Paul--) ls -ld "${Want[@]}"
-rw-r--r-- 1 paul paul    1014 May 14 18:03 Algorithm_2.txt
-rw-r--r-- 1 paul paul 1507999 May 14 23:15 Ram.1e12E
-r-------- 1 paul paul    1149 May 14 22:14 Ramanujan.array.V01
-r-------- 1 paul paul    1635 May 14 21:45 Ramanujan.sort.V01
-r-------- 1 paul paul    1773 May 14 10:38 Ramanujan.V06
-r-------- 1 paul paul    1747 May 15 19:12 Ramanujan.V07
-rw-r--r-- 1 paul paul    4183 May 14 23:44 Test.log
Paul--) #.. Tidy up.
Paul--) unset Want; rm -f refDate.tmp

関連情報