如何使用 rm 删除 TextMate 的临时文件?

如何使用 rm 删除 TextMate 的临时文件?

请注意,我并不是想禁止创建这些文件。我想保留它们直到我已准备好将变更提交到我的源代码管理中。

这些文件分散在主源代码目录的许多子目录中,格式为“._”。例如,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 独有的

相关内容