Bash 什么是';{}';在';找到-名称“*”。pyc“-exec rm-rf{}\&引用;意思是

Bash 什么是';{}';在';找到-名称“*”。pyc“-exec rm-rf{}\&引用;意思是,bash,shell,Bash,Shell,这可能是一个天真的问题,但我在网上和stackoverflow上搜索后没有找到答案。我不知道找到答案的正确关键字。提前感谢你给了我一个指针 我的问题是关于以下命令中的“{}”: find . -name "*.pyc" -exec rm -rf {} \; 为什么我们需要{}和\;这里 表示找到的文件名。{}表示通过find命令找到的文件或目录\ find . -name "*.pyc" -exec rm -rf {} \; 只在当前目录中查找名称以.pyc结尾的文件或目录,并对找到的文件或

这可能是一个天真的问题,但我在网上和stackoverflow上搜索后没有找到答案。我不知道找到答案的正确关键字。提前感谢你给了我一个指针

我的问题是关于以下命令中的“{}”:

find . -name "*.pyc" -exec rm -rf {} \;

为什么我们需要{}和\;这里

表示找到的文件名。

{}
表示通过find命令找到的文件或目录<代码>\-exec选项与表示命令终止的find一起使用时需要code>

find . -name "*.pyc" -exec rm -rf {} \;

只在当前目录中查找名称以
.pyc
结尾的文件或目录,并对找到的文件或目录执行删除操作。

搜索
时,man Find
谷歌说:

如果再次搜索
{}
,您将看到解释。 您还可以在控制台中发出
man find

字符串“{}”将替换为正在处理的当前文件名 它出现在命令的参数中的任何地方,而不仅仅是在 单独使用的参数,如find的某些版本


人工查找
~
-exec命令以下所有要查找的参数都被视为命令的参数,直到包含“;”的参数遇到了。字符串“{}”在命令的参数中出现的任何地方都会被当前正在处理的文件名替换,而不仅仅是在它单独存在的参数中,如find的某些版本。这两种构造可能都需要转义(使用“\”)或引用,以防止它们被外壳扩展。这个问题似乎是离题的,因为它可以通过RTFM快速解决