名前でディレクトリを選択し、サイズでリストを並べ替えます。

名前でディレクトリを選択し、サイズでリストを並べ替えます。

.stversions特定の名前(たとえば)を持つすべてのディレクトリを見つけ、サイズ別にソートされたリストを取得したいと思います。find -name .stversionsディレクトリをインポートし、 du -hd1各ディレクトリのサイズを決定し、次のコマンドをsort -h使用して1行のコマンドに入れることはできません。

find -name .stversions | du -hd1 | sort -h

ディレクトリを選択しないようですが(コマンドは単独で実行されます)、権限の拒否に対する苦情が発生した後、現在のディレクトリのディレクトリサイズを決定し、ソートされた出力を生成します。出力findをからパイプに接続するにはdu

ベストアンサー1

標準duコマンドには入力は必要ありません。標準入力したがって、パイプで接続しても効果はありません。 (また処理しません-h-d1)GNUバージョンはNULで区切られたファイルのリストを受け入れます(参考文献を参照man du)。

GNU を使用する場合は、duパイプ全体に NUL 終了レコードを使用することもできます。これにより、予期しない文字(スペースを含む)を含むファイル名(ディレクトリ名)を処理できます。

find -type d -name '.stversions' -print0 | du -h -d1 --files-from0 - -0 | sort -z -h | tr '\0' '\n'

おすすめ記事