linux的find命令-exec用法
时间: 2023-04-27 21:03:58 浏览: 293
find命令是Linux系统中非常常用的一个命令,它可以用来查找文件和目录。-exec是find命令的一个选项,它可以在查找到的文件或目录上执行一个命令。
-exec选项的语法如下:
```
find path -name "pattern" -exec command {} \;
```
其中,path是要查找的路径,pattern是要查找的文件名模式,command是要执行的命令,{}表示查找到的文件名,\;表示命令的结束。
例如,要查找当前目录下所有扩展名为.txt的文件,并将它们复制到/tmp目录下,可以使用以下命令:
```
find . -name "*.txt" -exec cp {} /tmp \;
```
这个命令会在当前目录下查找所有扩展名为.txt的文件,并将它们复制到/tmp目录下。
相关问题
linux bash find命令-exec选项调用函数
很抱歉,我之前给出的答案有误。在 `find` 命令的 `-exec` 选项中,直接调用函数是不可行的。不过,您可以通过以下方法间接实现在 `-exec` 中调用函数的效果:
1. 创建一个可执行脚本文件,其中包含您要调用的函数。假设您的脚本文件名为 `script.sh`,函数名为 `my_function`,脚本内容如下:
```bash
#!/bin/bash
my_function() {
# 在这里定义您的函数逻辑
echo "执行了函数"
}
# 执行函数
my_function
```
2. 在 `find` 命令中使用 `-exec` 选项来调用该脚本。例如,要在当前目录及其子目录中查找所有文件,并在每个文件上执行 `script.sh` 脚本中的函数,可以使用以下命令:
```bash
find . -type f -exec bash -c 'source script.sh; my_function' {} \;
```
这将递归地遍历当前目录及其子目录中的所有文件,并在每个文件上执行 `script.sh` 脚本中的函数。
请注意,在这个命令中,我们使用了 `-c` 选项来告诉 bash 执行一个命令字符串。命令字符串中通过 `source` 命令加载了 `script.sh` 脚本,并调用了其中的 `my_function` 函数。
这样,您就可以间接地在 `find` 命令的 `-exec` 选项中调用函数。
linux命令 find exec
Linux命令find exec是一种在Linux系统中查找文件并执行命令的方法。使用find命令可以查找指定目录下符合条件的文件,而使用exec选项可以在查找到的文件上执行指定的命令或脚本。exec选项后面跟随着所要执行的命令或脚本,然后是一对儿{},一个空格和一个\,最后是一个分号。为了使用exec选项,必须要同时使用print选项。如果验证一下find命令,会发现该命令只输出从当前路径起的相对路径及文件名。在使用exec选项时,需要注意命令的正确性和安全性,避免误操作导致数据丢失或系统崩溃。
阅读全文