如何运行“find -exec {}\;

如何运行“find -exec {}\;

我有一个可以更改文件夹文件属性的脚本。

这是示例树:

dir 1
    --file 1
    --file 2
    --file 3
dir 2
    --file 1
    --file 2
dir 3
    --file 1
    --file 2
    --file 3

我正在终端上运行此命令,我想为每个目录运行 shell 脚本 (script.sh)

find . -type d -exec ./script.sh {}\;

它不运行并出现错误:

find: missing argument to `-exec'

我在这里缺少什么?

答案1

{}您缺少和之间的空格;

find . -type d -exec ./script.sh {} \;

答案2

尝试

find . -type d -exec /path/to/script.sh '{}' \;

或者

find . -type d -exec /path/to/script.sh \{\} \;

或者(我相信它也会起作用,因为“}”在这种情况下毫无疑问并不特殊,因此是字面意思):

find . -type d -exec /path/to/script.sh \{} \;

相关内容