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
使用 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