特定のディレクトリ内のすべてのファイルとディレクトリの一意の所有者を表示したいと思います。
私は試した:
ls -ltR <dir-path> | grep -P '^[d|\-]' | awk '{print $3}' | sort | uniq
これはls
出力を解析しようとする根本的な間違いを犯しますが、うまくいきます。複雑なディレクトリ構造に多くのファイルがあるディレクトリで試しましたが、停止して中断されました。
単に低レベルでコマンドを実行して段階的に進むことでこの問題を解決できますが、これを一度に実行するより効率的な方法があるかどうか疑問に思います。
ベストアンサー1
findを使用する少し短いバージョンは次のとおりです。
find <path> -printf "%u\n" | sort -u
ディレクトリ構造の複雑さによっては、この方法がより効率的である場合とそうでない場合があります。