在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来完成它。我究竟做错了什么?
答案 0 :(得分:4)
您需要使用-exec
\;
命令
find . -name "*.pyc" -exec rm {} \;
查看手册页中的find -exec
。
在Gordon Davisson的评论中提到,使用+
终止命令可能更有效,因为rm
随后被调用次数更少:
find . -name "*.pyc" -exec rm {} +
答案 1 :(得分:2)
您可以使用-delete
而不是-exec rm
,因为前者不会为要删除的每个文件实例生成新进程。您还可以使用-type f
选项来仅对文件应用操作。
find . -type f -name "*.pyc" -delete