ls
コマンドを使用して、特定の日付、時間後に作成されたファイルのみを表示することは可能ですか?
何千ものファイルがあるディレクトリがあるので、私はそれを求めています。
昨日から作成されたすべてのファイルを確認したいのですが。
私はls -ltr
を使用していますが、すべてのファイルが表示されるまで待つ必要があります...
OpenVMSのDIRECTORY/SINCE=date
に相当するものはありますか?
find
コマンドを使用して、特定の日数後に変更されたすべてのファイルを検索できます。
たとえば、昨日(24時間前)以降に変更された現在のディレクトリ内のすべてのファイルを検索するには、次のコマンドを使用します。
find . -maxdepth 1 -mtime -1
変更されたファイルを見つけるにはbefore 24時間前に、-mtime +1
ではなく-mtime -1
を使用する必要があることに注意してください。
find . -type f -newermt '1/30/2017 0:00:00'
これにより、特定の日付以降に変更されたすべてのファイルが見つかります。
ls -ltr | grep "`date | awk '{print $2" "$3}'`"
これがうまくいくことを願っています:
ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $9}'
ここに:
$6 indicates position of month
$7 indicates day of the month
上記のコマンドは、5月1日から5月31日以降に作成されたすべてのファイル名を出力します。
コンソールにも日付を印刷したい場合は、これを試してください
ls -ltr | awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'
ディレクトリのパスを指定したい場合は、これを試してみてください
ls -ltr <path>| awk '$6 == "May" && $7 >=01 && $7 <= 31 {print $6"-"$7,$9}'