linux中find: missing argument to `-exec'
时间: 2024-11-12 08:35:46 浏览: 40
在Linux终端中,`find`命令用于搜索指定目录及其子目录,并执行指定的动作(如打印、删除、移动文件等)。当你看到`find: missing argument to '-exec'`这样的错误提示时,这意味着你在尝试使用`-exec`选项时忘记提供了必要的参数。
`-exec`选项通常需要跟一个动作命令和可能的管道符号(`;` 或 `&&`)以及可以传递给该命令的一个或多个参数。基本语法如下:
```bash
find [path] [expression] -exec [command] [arguments] ;
```
例如,如果你想查找所有的`.txt`文件并使用`ls`命令列出它们:
```bash
find /home/user -type f -name "*.txt" -exec ls -lh {} \;
```
在这里,`-type f`表示查找普通文件,`-name "*.txt"`指定了文件名模式,`ls -lh {}`是你想要执行的命令,`{}`会被替换为找到的每个匹配项,`\;`用于结束`-exec`选项。
如果你没有提供这个完整的结构,就会收到`missing argument to '-exec'`的错误。请检查一下你的`find`命令行,确保`-exec`后面跟着合适的命令和参数。如果还有疑问,请提供具体的`find`命令,我可以帮你分析。
相关问题
find: missing argument to `-exec'
这是一个错误提示,意思是在使用“-exec”命令时缺少了参数。在使用“-exec”命令时,必须在其后面指定要执行的命令和参数,例如:
find /path/to/directory -name "*.txt" -exec rm {} \;
这个命令将在指定目录中查找所有扩展名为“.txt”的文件,并将它们删除。在这个命令中,“-exec”后面的“rm {} \;”就是要执行的命令和参数。如果缺少了这些参数,就会出现“missing argument to '-exec'”这个错误提示。
shell find: missing argument to `-exec'
这个错误通常是因为在使用 `find` 命令的 `-exec` 参数时,没有正确地指定要执行的命令。请检查你的命令中是否正确地使用了 `{}` 和 `;`。`{}` 表示当前 `find` 命令搜索到的文件名,而 `;` 表示命令的结束。例如,正确的使用方式是:
```
find /path/to/search -name "*.txt" -exec rm {} \;
```
这个命令会在 `/path/to/search` 目录及其子目录中查找所有以 `.txt` 结尾的文件,并将它们删除。请注意,在使用 `-exec` 参数时,命令最后必须以 `\;` 结尾,否则会出现 `missing argument to '-exec'` 错误。
阅读全文