ディスクボリュームからファイルのリストを作成する必要があります。一部のディレクトリ(ルートの下にあるすべての隠しディレクトリ)には奇妙な権限があり、findでエラーが発生します。
これらすべてのパスを除外しようとしましたが、1つのディレクトリでまだ文句を言います。
find . -type f -not -path './.*/*'
find: ./.DocumentRevisions-V100: Permission denied
権限はこうです(OSで設定するものなのでむやみにしてはいけないと思います)。
d--x--x--x root wheel .DocumentRevisions-V100
find
文句を避けるために、すべての隠しディレクトリを効果的に省略するように文をどのように変更できますか? (2>/dev/null
他の質問について知りたいのと同じようにしたくありません。)
ベストアンサー1
-readable
GNU findまたはand述語をサポートする別の検索を使用してください-executable
。
find . -type d ! \( -readable -executable \) -prune -o -type f -not -path './.*/*' -print
まず、閲覧できないディレクトリをクリーンアップします。その条件が適用されない場合は、別の条件を試してください。
これらのオプションがない場合は、find
ファイル権限を一致させることができます。
find . -type d ! -perm -u+rx -prune -o -type f ! -path './.*/*' -print