だから、私は40日より古いすべてのファイルを取得しようとしています。 (したがって、-mtime -40)が、一部のファイルに無効な述語があるため、見つけることができません。 (現在または子孫であるかどうかにかかわらず、すべてのファイルを見つける必要があります。
$ find . -name * -mtime -40 > FILE_LIST
find: invalid predicate `-file-name.xls'
その後...
$ find ./* -name * -mtime -40 > FILE_LIST
find: invalid predicate `-file-name.xls'
そして、これらのどちらもそれをしていないようです。
問題は、*
の-name *
がシェルによってファイルリストに展開され、そのコマンドラインで検索するために渡されることだと思います。次に、findコマンドはコマンドラインを解析し、コマンドライン引数として解釈しようとする-file-name.xls
を見つけます。
試してみてください
find . -mtime -40 > FILE_LIST
これはあなたが望むことをするはずです。
AHHHH .... manページを読むと、-mtime-40は40日未満のファイルを提供します。あなたがしたいことはこれではありません:
find . -mtime +40 >FILE_LIST
40日以上経過したファイルを検索/一覧表示する場合。