有人可以告诉我如何在下面的命令中替换-exec
为吗?-ok
find -name "*.swp" -exec rm {} "\;"
有人告诉我,它在“手册页”上说,您可以使用它-ok
来“确认”。
我替换-exec
为-ok
但出现错误:
find: missing argument to 'ok'
这是在 ParrotOS 上。
答案1
您显示的命令会给出完全相同的错误。您需要以-exec
or结尾。在 shell 中具有特殊含义(例如),这就是为什么需要转义它,-ok
;
;
bash
任何一个作为";"
或者as \;
,但不是两者 ( "\;"
) ,正如您在问题中所提到的那样。
所以试试这个:
find -name "*.swp" -ok rm {} \;
这将在删除每个文件之前要求确认。由于您使用的是 Linux,因此您也可以获得相同的行为rm -i
:
find -name "*.swp" -exec rm -i {} \;