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

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

それが可能かどうかは分かりません。

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)]

関連情報