検索結果に「人が読める」ファイルサイズを表示するには?

検索結果に「人が読める」ファイルサイズを表示するには?

Centosサーバーですべての大容量ファイルを見つけようとしています。そのためには、以下を使用しています。

find / -maxdepth 10 -size +100000 -ls

-lsに変更してみましたが、-lshこれは許可されていません。

これらの結果を人間が読めるサイズ(サフィックスk、M、...を使用)として表示するにはどうすればよいですか?

答え1

findのようなものはありませんls。必要にls -h応じて電話する必要がありますls

find / -maxdepth 10 -size +100000 -exec ls -lh {} +

他のファイルシステムへの再帰を避けるためにオプションを選択することをお勧めします-xdev。ディスク容量が気になる場合は役に立ちません。

find / -xdev -maxdepth 10 -size +100000 -exec ls -lh {} +

zshをシェルとして使用する場合は、find代わりにglob修飾子を使用できます。ファイルサイズを制限するのは簡単です。Lサイズの後には、数字の前にオプションの単位があります。最大深度に興味がない場合は、**/サブディレクトリへの再帰を使用できます。最大深さに興味がある場合は、zsh globモードに「maximum」という表現がないため、より問題になります。Nデバイス間の再帰を防ぐには、glob修飾子を使用してください。デバイス番号を探す必要があります。 Linuxでコマンドを使用するか(番号のみを表示)、zsh独自の組み込みコマンド(実行してロード)を使用してdデバイス番号を見つける必要があります。それ)。statstat -c %d /statzmodload zsh/stat

ls -lh /**/*(L+M99d$(stat -c %d /))

答え2

あなたが試しているコマンドは私が読むことができます。ただし、以下のようにファイルユーティリティを使用して見つけることができます。

find / -maxdepth 10 -size +100000 -exec sh -c 'file -b {} | grep text &>/dev/null' \; -print

別の方法は、次のコマンドを使用することです。

du -BM / | sort -nr

上記のコマンドは、ソートされたファイルサイズでソートされたファイルを提供します。

使用する場合コアユーティリティ > 7.5次のコマンドを実行して、ファイルをサイズ別に一覧表示できます。

du -ah / | grep -v "/$" | sort -h

sort -hマイコンピュータには利用可能なオプションはありません。

コメントで述べたように、人間が読める形式は、ファイルサイズが次のようになるはずです。知識ベースMBまたは国家規格。答えとして投稿した2番目のコマンドを使用します。私のシステムで使用したときに得られる結果は次のとおりです。

du -BM /home/ramesh/chk1/ | sort -nr

50M     /home/ramesh/chk1/
21M     /home/ramesh/chk1/Hierarchical_Clustering_Working
3M      /home/ramesh/chk1/checking_files
1M      /home/ramesh/chk1/checking/checking2
1M      /home/ramesh/chk1/checking/checking1
1M      /home/ramesh/chk1/checking/asdf
1M      /home/ramesh/chk1/checking

答え3

私はあなたが求めているのは次のようなものだと思います。

find / -maxdepth 10 -size +100000 -exec ls -lah {} + 

-execコマンドを実行して{}検索結果に置き換えることができます。最後に、+findにこれがコマンドの終わりであり、必須であることを知らせることです。

答え4

du -bah私はオーバーのきちんとした出力を好みますls -hl(私の記憶力を向上させるために使用できればと思いますが、順序は異なるdu -hab場合があります)。

find / -maxdepth 10 -size +100000 -exec du -bah {} + 2> /dev/null

du通常、正確なファイルサイズではなくディスクブロックサイズが表示されるため、-bまたはオプションが必要です。--bytes--apparent-size --block-size=1du

du -bmacOSシステムにはこのオプションがない可能性があります。du

関連情報