find /home/lead_admin -type f -printf '%s %p\n' | sort -nr | head -10
上記の声明は-printf '%s %p\n'
正確に何をしますか?
答え1
からman find
:
-printf format
Trueです。 "\" エスケープ文字と "%" ディレクティブを解釈し、標準出力の印刷形式です。フィールドの幅と精度は、「printf」C関数を使用して指定できます。多くのフィールドは%dではなく%sとして印刷されます。これは、フラグが期待どおりに機能しないことを意味できます。これはまた、「-」フラグが機能することを意味します(フィールドを左揃えに強制します)。 -print とは異なり、-printf は文字列の末尾に改行文字を追加しません。エスケープ文字と指示は次のとおりです
。
\n Newline
%p File's name
%s File's size in bytes
つまり、-printf '%s %p\n
ファイルサイズをバイト単位で印刷し、スペース、ファイル名、最後に改行文字を印刷することを意味します。