2

おはようございます !

これは私が信じている単純なものですが、私はまだ初心者です:)

特定の名前のすべてのフォルダーを検索しようとしています。コマンドでこれを行うことができます

find /path/to/look/in/ -type d | grep .texturedata

出力には、次のような多くのフォルダーが表示されます。

/path/to/look/in/.texturedata/v037/animBMP

しかし、私は .texturedata で停止したいと思います:

/path/to/look/in/.texturedata/

私はこれらのパスを何百も持っており、grep の出力をパイプしてそれらをロックしたいと考えています。chmod 000

引数付きのコマンドを-dpe一度与えられましたが、それが何をするのかわかりません。インターネットは、その使用法を判断するのに役立ちませんでした

ご協力ありがとうございました。

4

3 に答える 3

1

-quit次のように gnu find でオプションを使用でき-execます。

find /path/to/look/in/ -type d -name ".texturedata" -exec chmod 000 '{}' \; -quit
于 2013-11-13T15:51:23.217 に答える
1

特定の名前のすべてのフォルダーを検索しようとしています。コマンド find /path/to/look/in/ -type d | でこれを行うことができます。grep .texturedata

特定のディレクトリ名を探すためにをgrep出力する必要はありません。のオプションは同じ仕事をします。find-namefind

find /path/to/look/in/ -type d -name '.texturedata'

.texturedata で止めてほしい

-pruneオプションはこの要件に非常に適しています

find /path/to/look/in/ -type d -name '.texturedata' -prune

私はこれらのパスを何百も持っており、grep の出力を chmod 000 にパイプしてそれらをロックしたいと考えています。

オプションで使っfindてみる-exec

find /path/to/look/in/ -type d -name '.texturedata' -exec chmod 000 {} \; -prune

findより効率的なアプローチは、 usingの出力をパイプすることですxargs

find /path/to/look/in/ -type d -name '.texturedata' -prune -print0 | xargs -0 chmod 000

テスト

$ tree -pa
.
|-- [drwxrwxrwx]  .texturedata
|   `-- [drwxrwxrwx]  .texturedata
|-- [drwxrwxrwx]  dir1
|   |-- [drwxrwxrwx]  .texturedata
|   |   `-- [-rwxrwxrwx]  file2
|   `-- [drwxrwxrwx]  dir11
|       `-- [-rwxrwxrwx]  file111
|-- [drwxrwxrwx]  dir2
|   `-- [drwxrwxrwx]  .texturedata
|       `-- [-rwxrwxrwx]  file3
|-- [drwxrwxrwx]  dir3
|   `-- [-rwxrwxrwx]  file4
`-- [-rwxrwxrwx]  file1

8 directories, 5 files
$ find . -type d -name '.texturedata' -prune -print0 | xargs -0 chmod 000
$ tree -pa
.
|-- [d---------]  .texturedata [error opening dir]
|-- [drwxrwxrwx]  dir1
|   |-- [d---------]  .texturedata [error opening dir]
|   `-- [drwxrwxrwx]  dir11
|       `-- [-rwxrwxrwx]  file111
|-- [drwxrwxrwx]  dir2
|   `-- [d---------]  .texturedata [error opening dir]
|-- [drwxrwxrwx]  dir3
|   `-- [-rwxrwxrwx]  file4
`-- [-rwxrwxrwx]  file1

7 directories, 3 files
于 2013-11-14T05:24:52.610 に答える