土曜日に作成/変更されたファイルをリストから削除する

土曜日に作成/変更されたファイルをリストから削除する

可能かどうかわからない。

ls -l を実行すると、現行ディレクトリー内のすべてのファイルが提供されます。土曜日にシェルコマンドを使用して作成/変更されていないファイルのみを一覧表示する方法はありますか?

答え1

離れている:

$ LANG=C find . -maxdepth 1 -printf '%p %AA\n' |
    awk '$NF=="Saturday"{next}{$NF=""}1'

ファイルを印刷しないとします。みんな土曜日。これはあなたが期待したものですか?

答え2

より簡単です:

find . -maxdepth 1 -printf '%Ta\t%p\n' | grep -v -i '^sat'

引用:これ答え。

答え3

必要な時間を選択する必要があります。

  • %y改訂する
  • %w作る
  • %z変化

または任意の組み合わせ:

stat * --printf="%n\t%y %z\n" | grep -vF $(date -d "last Saturday" +%F) | cut -f1

必要な情報を選択して--printf=ラインを設定することもできます。

または、単にfindコマンドを使用することができます

find -maxdepth 1 -type f -daystart \
     ! -mtime $[$(date +%d)-$(date -d "last Saturday" +%d)]

関連情報