有人可以告诉我如何在下面的命令中-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 上。
您显示的命令会给出完全相同的错误。您需要-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)