【发布时间】:2016-06-27 15:39:04
【问题描述】:
自从我擦除了我的 OSX 安装并重新启动后,这个 bash 功能不再起作用。我可以清楚地看到我正在运行它的文件夹中有 .orig 和 .pyc 文件,但它只是告诉我它找不到任何东西。我完全忘记了这个功能是如何工作的。谁能帮我理解什么是错的?谢谢!
studyClean() {
echo "------------Cleaning...------------"
numCleaned=$(find . -type f -name ".pyc" -print -exec rm -v {} + | wc -l;)
echo "${numCleaned} .pyc files cleaned!"
numCleaned=$(find . -type f -name ".orig" -print -exec rm -v {} + | wc -l;)
echo "${numCleaned} .orig files cleaned!"
}
调用时的终端输出:
| ~/apps/funapp @ Simons-Air (simonbraunstein)
| => studyClean
------------Cleaning------------
0 .pyc files cleaned!
0 .orig files cleaned!
___________________________________________________
【问题讨论】:
-
chepner 在下面的回答解释了问题所在。但是您的命令很奇怪:由于您同时使用
-print和rm的-v选项,因此您将获得的数字(至少)是实际删除文件数量的两倍! -
@gniourf_gniourf 谢谢!知道了。会调查!伙计,我认为这个功能比原来清理的要多得多!
-
你的情况可能没问题,但即使你删除
-print,输出的行数至少与删除的文件数一样多: 如果输出是foo\nbar,那两个文件是foo和bar,还是一个带有嵌入换行符的文件?
标签: bash macos terminal iterm2