find
特定のサイズ(バイト、キロバイト、メガバイト、またはギガバイト単位)のすべてのファイルを見つけて見つかった場合は、そのサイズを印刷する簡単なコマンド(おそらく使用)が必要です。
たとえば、このコマンドは10 MBを超えるすべてのファイルを検索しますが、残念ながらサイズは表示しません。
find . -size +10M
また見なさい:
- 1GBより大きく6ヶ月以上のファイル- 寸法を表示しない
- ディレクトリと表示サイズが1 GBを超えるLinuxディスプレイファイル- 承認された回答が予想より複雑に見え、並べ替えは必要ありません。
- X 値より大きいファイルを検索、サイズで並べ替え、ls 形式で表示- 書式が不要または不要です
ls
。主な答えはスペースと一緒には機能しないかもしれません。 - https://linuxconfig.org/how-to-use-find-command-to-search-for-files-based-on-file-size
答え1
どうですか?
find -size +10M -exec du -h {} \;
答え2
M
in は GNUfind . -size +10M
拡張です。 GNUの実装にはfind
別の拡張があります。-printf
これを使用して、次のファイルのサイズを印刷できます。
find . -size +10M -printf '%s %p\n'
10MiB(メガバイトではなくメガバイト)より大きいファイルのサイズと容量を報告しますs
。p
ここでは、組み込み修飾子とglob修飾子をzsh
使用することもできます。stat
zmodload zsh/stat
stat -nL +size -- **/*(LM+10)
これにより、ファイルパスの後にサイズが印刷されます。また、find
隠しファイルはデフォルトで除外されます(D
修飾子を使用して再追加できます)。
またはprint
r
olumnsにaw(クロス)を書き込みます。2
C
a
stat -nLA report +size -- **/*(LM+10)
print -raC2 -- $report
このすべて-size
、ファイル%s
の+size
サイズ、これはファイルとは異なります。ディスク使用量² stat of du
(または%b
/ %k
ingfind -printf
または+block
in ) に報告されているように、タイプファイルの固有ファイルサイズも含まれます。zsh
du
目次)。find
ディスク使用量に基づいてファイルをフィルタリングする述語はありません。
1 10MB(メガバイト)を超えるファイルの場合(-size +10000000c
標準)find
または(L+10000000)
zsh
²ファイルが大きいほど一般的に多くのディスク容量を占めますが、必ずしもそうではなく、いずれの場合でも、2つの関係は直線的ではありません。
答え3
zshを使用してls
サポートする場合-h
人が読めるサイズ、次のようにすることができます。
ls -lhd -- **/*(.Lm+10)
10MiBより大きい隠しファイルではなく、すべてのファイルを見つけてls -ldh
動作します。あなたは得ることができますパラメータリストが長すぎます。。これを行うと使用できますが、zargs
使用時と同じ問題が発生しますfind
。
また、問題を間違って責めようとするわけではありませんが、大規模なzsh
ディレクトリで作業を実行すると奇妙なことが発生することがわかりました。**/*
つまり、ls -ld /**/*(.)
使用してzargs
も終わりはありません。ただし、小規模な作業の場合、zsh
構文に慣れている場合は、作業を完了する方が簡単ですzsh
。