当前位置:  开发笔记 > 编程语言 > 正文

无法理解命令find的语法

如何解决《无法理解命令find的语法》经验,为你挑选了2个好方法。

find命令似乎与其他Unix命令不同.

为什么在下面的命令末尾有空的花括号和后向闪烁?

find * -perm 777 -exec chmod 770 {} \;

我找到了大括号的一个原因,但没有找到后向闪光的原因.

大括号显然是为了这条道路

与-exec相同,除了为每次调用实用程序替换尽可能多的路径名``{}''

Stephan202.. 16

-exec命令后面可以跟随任意数量的参数,这些参数构成了为每个找到的文件执行的命令.需要有一些方法来确定最后一个参数.这是什么 \; 确实.请注意,在-exec开关后可能会出现其他内容:

find euler/ -iname "*.c*" -exec echo {} \; -or -iname "*.py" -exec echo {} \;

(这会在euler目录中找到所有c文件和python文件.)

exec不需要完整命令在引号内的原因是,在大多数情况下,这将需要在命令内转义大量引号.



1> Stephan202..:

-exec命令后面可以跟随任意数量的参数,这些参数构成了为每个找到的文件执行的命令.需要有一些方法来确定最后一个参数.这是什么 \; 确实.请注意,在-exec开关后可能会出现其他内容:

find euler/ -iname "*.c*" -exec echo {} \; -or -iname "*.py" -exec echo {} \;

(这会在euler目录中找到所有c文件和python文件.)

exec不需要完整命令在引号内的原因是,在大多数情况下,这将需要在命令内转义大量引号.



2> kenorb..:

字符串{}in find将替换为当前文件的路径名.

分号用于终止find实用程序调用的shell命令.

它需要被转义或引用,因此它不会被shell解释,因为它;是shell(列表运算符)使用的特殊字符之一.

另请参阅:为什么find命令的-exec选项需要反斜杠和分号?

推荐阅读
yzh148448
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有