BASH;使用 find 和 -exec 删除 .pyc 文件

BASH; using find and -exec to remove .pyc files

使用 Ubuntu 16.04.2 LTS 中的命令行。我即将结束 Zed Shaw 的 LPTHW,在 ex46.py 的视频中,他使用以下 bash 命令来查找和删除所有 .pyc 字节代码文件:

find . -name "*.pyc" -exec rm {}

在视频中,这成功删除了 Zed Shaw 的所有 .pyc 文件。但是,在输入完全相同的命令后,我收到以下错误:

find: missing argument to `-exec'

我知道有很多方法可以删除 .pyc 文件,但是,由于我正在跟随 Zed Shaw,所以我想知道如何使用 find 和 -exec 来完成。我究竟做错了什么?

您需要使用 \;

终止 -exec 命令
find . -name "*.pyc" -exec rm {} \;

查看手册页中的 find -exec

Gordon Davisson 的评论中所述,使用 + 终止命令可能更有效,因为 rm 被调用的次数更少:

find . -name "*.pyc" -exec rm {} +

您可以利用 -delete 而不是 -exec rm,因为前者不会为每个要删除的文件实例生成新进程。您也可以加入 -type f 选项以仅对文件应用操作。

find . -type f -name "*.pyc" -delete