find dirname -not -empty -ls
を使用します 、GNU find と仮定します。
これは、ls が十分に強力でないための仕事です。
find -maxdepth 1 -size +0 -print
-maxdepth 1
- これは、find に現在のディレクトリのみを検索するか、remove ですべてのサブ ディレクトリを検索するか、または番号を変更して 2、3、またはそれ以上のレベルを下げるように指示します。
-size +0
これは find に 0
より大きいサイズのファイルを探すように指示します バイト。 0
任意のサイズに変更できます。
-print
見つかったファイルへのフル パスを出力するように find に指示します
編集:
遅い追加:おそらく -type f
も追加する必要があります 上に切り替えます。これは、find にファイルのみを検索するように指示します。以下のコメントにあるように、 -print
スイッチは実際には必要ありません。
ls -l | awk '{if ($5 != 0) print $9}'
ls
を使用する場合 、awk
の助けが必要です .