请注意,我并不是想禁止创建这些文件。我想保留它们直到我已准备好将变更提交到我的源代码管理中。
这些文件分散在主源代码目录的许多子目录中,格式为“._”。例如,test.txt 变成 ._test.txt。
我尝试过这个命令,但是它不起作用:
rm -rf ._*
有什么想法吗?
答案1
GNU find 有一个-delete
选项。如果你有 GNU find,这个应该可以工作(并且它应该不会受到文件名中空格和其他奇怪字符的影响):
find . -name '._*' -delete
来自文档(info find
):
-- Action: -delete
Delete files or directories; true if removal succeeded. If the
removal failed, an error message is issued.
The use of the `-delete' action on the command line automatically
turns on the `-depth' option (*note find Expressions::). This can
be surprising if you were previously just testing with `-print',
so it is usually best to remember to use `-depth' explicitly.
If `-delete' fails, `find''s exit status will be nonzero (when it
eventually exits).
答案2
决定用这个来代替:
find . -name "._*" -exec rm {} \;
不过,我很想知道是否有更好的方法来做到这一点。
答案3
虽然删除它们并不是特别有害,但最好确保你知道自己要丢弃什么,因为这些实际上既不是临时文件,也不是 TextMate 独有的。