将 find 命令与 -ok NOT -exec 一起使用的示例

Beb*_*980 1 command-line find

有人可以告诉我如何在下面的命令中-exec替换为吗?-ok

find -name "*.swp" -exec rm {} "\;"
Run Code Online (Sandbox Code Playgroud)

有人告诉我,它在“手册页”上说,​​您可以使用它-ok来“确认”。

我替换-exec-ok但出现错误:

find: missing argument to 'ok'
Run Code Online (Sandbox Code Playgroud)

这是在 ParrotOS 上。

ter*_*don 5

您显示的命令会给出完全相同的错误。您需要-exec以 or-ok结尾;;在 shell 中具有特殊含义(例如)bash,这就是为什么需要将其转义as";" as \;,但不能同时转义两者("\;"),正如您在问题中所提到的那样。

所以试试这个:

find -name "*.swp" -ok rm {} \;
Run Code Online (Sandbox Code Playgroud)

这将在删除每个文件之前要求确认。由于您使用的是 Linux,因此您也可以获得相同的行为rm -i

find -name "*.swp" -exec rm -i {} \;
Run Code Online (Sandbox Code Playgroud)