web-dev-qa-db-ja.com

lsofで「人間が読める」サイズを表示する方法| grep / var *

/ varマウントを使用しているすべてのファイルを確認しようとしています。

lsof | grep /var* whenその表示サイズ(バイト単位)。ファイルサイズをMBで表示するにはどうすればよいですか。

ありがとうございました。

7
rɑːdʒɑ

GNU Coreutilsバージョン8.21(2013年12月にリリース))以降、numfmt(=数値形式)と呼ばれる新しい標準プログラムがあります。

例:

lsof | grep /var*  | numfmt --field=8 --to=iec | head

パラメータ--toiec(1K = 1024B)またはsi(1K = 1000)を受け入れます。いくつかの追加オプションがあります。詳細については、こちらをご覧ください http://www.gnu.org/s/coreutils/numfmt

(免責事項:numfmtの初期実装を記述しました)。

13
A. Gordon

これを試して:

| awk '{$7=$7/1048576 "MB"; print}'

以下:

| awk '{$7=$7/1048576 "MB"}1'
3
Cyrus

Awkを使用して、バイトをMBに変換できます。

このようなものは、サイズがMBで表示されます。

lsof | grep /var* | awk '{for(i=1;i<=6;i++){printf "%s ", $i}; print $7/1048576 "MB" " "$8" "$9 }'

7番目のフィールドまでのすべてのフィールドを印刷し、1048576で分割してサイズ(MB)を取得し、残りの2つのフィールドを表示します。

1
rAlen