web-dev-qa-db-ja.com

サイズに従ってすべてのディレクトリをリストする方法は? [親ディレクトリを含まない]

私はたくさんのランダムなフォルダを持っています、それらのいくつかは隠されています(ピリオドで始まる)。それらをすべて、サイズ順にソートしてリストしたいと思います。

私はこのことを心に留めています:

ls -d -1 -a */ | xargs du -s | sort

しかし ls ...その一部には隠しファイルが表示されません。同じトピックについて以前にいくつかの質問があったことは知っていますが、回答には隠しファイルを含める方法は含まれていません。または、そうである場合は、長い形式を使用するため、出力はコマンドの他の部分と互換性がありません。

6
Karthick

Zshでは、D glob修飾子を使用して、ファイル名パターンにドットファイルを含めます。

_du -s -- *(D) | sort -k1n
_

Bashでは、dotglobオプションを設定して_*_がドットファイルに一致するようにします。

_shopt -s dotglob
du -s -- * | sort -k1n
_

Kshでは、FIGNORE.?(.)に設定して、_._および_.._のみを無視し、他のドットファイルは無視します。

_FIGNORE='.?(.)'
du -- * | sort -k1n
_

参照 ディレクトリ内のすべてのファイル(非表示を含む)を別のディレクトリに移動するにはどうすればよいですか?