但如果你想要一个更健壮的解决方案,可以考虑使用find的-exec选项,它可以直接在find命令中处理每个文件,而无需依赖外部命令(如xargs)来处理文件名: bash复制代码 find . -type f -name"*.txt" -exec sh -c'mv "$0" "prefix_${0#./}"' {} \; 在这个-exec命令中,sh -c '...' {} \;
find goal.log.*.gz -mtime +2 -exec rm -rf {} \; find goal.log.*.gz -mtime +3|xargs rm -f 前言: find 命令一直都是系统管理员的常用命令之一, 其参数中 “-exec” 尤其实用。而“xargs” 命令,针对查询也有属于自己的见解。本文着重讲解的是围绕 find 命令查询为主线,使用 -exec 参数(find ...
是指在使用find命令时,通过-exec参数执行多个命令,并通过管道将前一个命令的输出作为后一个命令的输入。 具体的命令格式为: ``` find <路径> <条件> -exec <命令1> {} ...
1. 执行一个简单的 shell 命令:我们可以使用 -exec 选项来执行一个简单的 shell 命令。例如,如果我们想要找到所有以 .txt 结尾的文件,并将它们移动到另一个目录,可以运行以下命令: “` find /path/to/search -name “*.txt” -exec mv {} /path/to/destination \; “` 2. 执行一个 shell 脚本:使用 ...
2. `exec`命令:用于执行其他命令或脚本。 用法:`exec command` 示例: – 执行`ls`命令,并将结果输出到`file.txt`文件中:`find . -type f -name “*.txt” -exec ls {} \; > file.txt` – 执行自定义脚本`myscript.sh`:`find /home -type f -name “*.log” -exec ./myscript.sh {} \...
命令: find . -type f -mtime +14 -exec rm {} \; 输出: [root@localhosttest]# ll 总计 328 -rw-r--r-- 1 root root 302108 11-03 06:19 log2012.log -rw-r--r-- 1 root root 33 10-28 16:54 log2013.log -rw-r--r-- 1 root root 127 10-28 16:51 log2014.log lrwxrwxrwx...
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
find是我们很常用的一个Linux命令,但是我们一般查找出来的并不仅仅是看看而已,还会有进一步的操作,这个时候exec的作用就显现出来了。 exec解释: -exec 参数后面跟的是command命令,它的终止是以;为结束标志的,所以这句命令后面的分号是不可缺少的,考虑到各个系统中分号会有不同的意义,所以前面加反斜杠。
故,在执行命令: # find . -type d -name "doc" -exec rm -rf {} \; 将查找到的目录传递给rm进行删除,而此时doc目录已经删除,find又要在已删除的doc目录下进行继续搜索是否有名称为doc的目录,因已删除,故报错(find: `./doc': No such file or directory)总结:find将结果传递给-exec后的命令,然后继...
`find` 命令可以与 `exec` 选项结合使用,以便在执行找到的文件时运行特定的命令```bashfind /path/to/search -type f -name "*.txt" -e...