首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >这个命令是做什么的?查找带有选项的命令

这个命令是做什么的?查找带有选项的命令
EN

Ask Ubuntu用户
提问于 2018-05-31 09:42:55
回答 1查看 109关注 0票数 0

但有个问题这个命令是做什么的?我知道查找命令,但是关于选项no,比如在引号中的表达式,以及-exec和.

代码语言:javascript
复制
find /var -name "[0-9]*test[A-Z]" -exec  {} /root/{}';'
EN

回答 1

Ask Ubuntu用户

回答已采纳

发布于 2018-05-31 10:14:54

find /var指示find/var目录下开始搜索。

-name "[0-9]*test[A-Z]"是一种搜索模式,它指示find只返回与模式"[0-9]*test[A-Z]"匹配的文件/文件夹。如果不引用搜索字符串,则shell将展开该搜索模式,并尝试执行结果。通过引用搜索模式,将其作为参数传递给find /var -name

原始问题的-exec...部分有一个语法错误,应该是-exec {} /root/{} ';' (注意';'之前的空格,如甜品和雏菊的注释)。它指示find执行以下参数,其中{}find的搜索结果替换。您通常也应该引用这些,以防止shell扩展。

最后,';'定义了在执行命令时-exec部分应该如何处理搜索结果。';'指示find对每个查找结果运行-exec命令。相反,当使用'+'时,将运行-exec命令,并展开所有查找结果。还必须引用或转义,以防止shell扩展它并向find...-exec进行参数化。

下面是一个说明";""+"之间区别的小例子。

代码语言:javascript
复制
[user@localhost test]$ find . -name "[0-9]*test[A-Z]" -exec echo "{}" ";"
./12ltestA
./1ltestA
[user@localhost test]$ find . -name "[0-9]*test[A-Z]" -exec echo "{}" "+"
./12ltestA ./1ltestA
票数 3
EN
页面原文内容由Ask Ubuntu提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://askubuntu.com/questions/1042257

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档