サイズ範囲内のファイルを見つける方法は?


3

コマンドを使用して、サイズzipよりも大きい60 MBが小さい70 MBサイズのすべてのファイルを見つける方法を教えてくださいfind


スーパーユーザーへようこそ。私たちはスクリプト作成サービスではありません。ユーザーは、特定の問題を解決できるように、これまでに試したこと(使用しているスクリプトを含む)とどこに行き詰まっているかを教えてくれることを期待しています。スクリプトのみを求める質問は広範であり、保留またはクローズされる可能性があります。良い質問をする方法を読んでください
DavidPostill

回答:


4
find -iname "*.zip" -size +60M -size -70M

また-o、論理和を取得し、\( … \)さまざまな一致をグループ化するために使用できます。


2
find -iname "*.zip" -size +$((60*1024*1024))c -size -$((70*1024*1024))c

省略形を使用していない60M70M、このようにも69.001メガバイトを含む69メガバイトを超えるサイズのすべてのファイルを除外します!

情報ドキュメントのセクションから2.4サイズ

-- Test: -size n[bckwMG]
    True if the file uses N units of space, rounding up.
    ...

69.001は70に切り上げられるため、除外されます!

完璧な例があるfind . -size -1Mであろう唯一のサイズのファイルと一致するゼロ


ええ、ビデオファイルをバケット化しようとすると、今この奇妙な現象が発生しています。一部のサイズは、どのバケットにも入らないだけです。
スリダールサルノバト

このヒントはすごい良いです!
ハレレオ

-1

あなたが言及したのと同じですが、-aを使用します。これは動作するはずです

find / -type f -size + 100M -a -size -200M -exec du -sh {} \;


1
考慮すべき事項:(1)-aデフォルトの演算子であるため、あなたの答えは新しいものを追加しないと思います。他の答えは暗黙的にそれを使用します。あなたの答えが構文の他の部分と一緒にこの振る舞いを説明したならfind、それは何らかの価値があるでしょう。今のところ私の意見では、それは不必要に複雑な(なぜ-exec du?)一般的な(zip関連のフィルターがない)代替案にすぎません。(2)もう1つの答えは、コミュニティWikiです。同時回答を書くのではなく、改善するための招待状のようなものです。追加するものが本当にある場合は、コミュニティWikiの回答を編集することをお勧めします。
カミルマシオロウスキ
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.