正如标题所述,我试图递归删除以._
开头的文件夹中的所有文件。对于我网站上的每个文件,存在具有相同确切名称的文件,但附有._
。我如何摆脱这些?如何递归删除以“._”开头的文件夹中的所有文件?
回答
我想你的意思是 “前面加上”
以后编辑
SH脚本:
find . -name ".?*" -exec rm {} \;
上面的代码没有递归工作;这个呢。 如果你想删除文件夹,请使用:
find . -name ".?*" -exec rm -R {} \;
考虑到在问题中使用“递归”,我认为这应该是'-name“。*”'。另外,除非你的系统已经很旧了,并且还不支持它,'-exec rm {} +'会批量调用'rm'而不是每个文件一次。 – Gilles 2010-08-15 22:44:55
@Gilles修复了它,谢谢 – 2010-08-16 09:17:39
你可能想用'find。名称“._?*”-exec rm {} \;'而不是,因为只是点将删除所有以“。”开头的文件,例如'.git'。 – 2013-07-03 00:28:27
编辑:用户吉尔斯下面正确提到以下替代技术可能是危险的,因为xargs的不以文件名对待单引号和双引号字面。名称为Today's special.txt
的文件将导致错误(未终止的引号)。为了完整起见,我仍然将其包含在内,因为它在网络上被广泛提及。
另一种类似的方式在Unix/Mac上通过管道连接到rm。
find . -name '.*' -type f | xargs rm -f
的-type f
参数告诉它忽略目录和特殊文件等等。,..,符号链接和开发者。
我们很遗憾不能使用类似rm -R .*
的东西,因为.*
输入模式在被发送给rm命令之前由shell展开。它会导致递归删除所有与起始目录相匹配的文件。
Windows等效命令(del -R .*
)对用户来说要简单得多,因为 del
程序会为每个子目录扩展通配符。
1.'-name'的参数应该只是''。*''。 2.如果存在包含空格或'\“''的文件名(包括前导目录),这将不起作用,因为'xargs'特别处理这些字符。除非您确定知道这些字符,否则不要使用'xargs'字符不会出现在任何文件或目录名称中,而是使用'-exec'来代替,就像在Gabi的回答中一样。这里,由于命令是'rm',因此灾难的可能性尤其大。 – Gilles 2010-08-15 22:42:38
-type f确保dirs包括。,..被忽略。虽然在文件中使用了'
和"
,但它们的名字却很好。xargs试图解释它们并导致问题。 我会用您的警告更新我的答案。我仍然认为包含这种做事方式很有用。一个简单的搜索显示了许多提及它。 –
Alkaline
2010-08-16 02:40:36
的this post可能重复,我已经成功地使用我自己的生产服务器上:
find /var/www/html \(-name '.DS_Store' -or -name '._*' \) -delete
find . \(-name '.DS_Store' -or -name '._*' \) -type f -print0 | xargs -0 rm -f
使用此命令,包括文件和文件夹在他们的搜索名称空间,以及。
- 1. python删除所有文件(递归)没有文件夹本身
- 2. 使用Delphi递归删除所有文件和文件夹
- 3. 如何递归删除文件夹?
- 4. pysmb删除递归的文件夹子文件夹和文件
- 5. 在PowerShell中删除文件夹中的所有文件(非递归)
- 6. 删除除C#中的文件以外的所有文件夹
- 7. 以递归方式打印文件夹中的所有文件和文件夹
- 8. 在PHP中,我如何递归删除所有非空的文件夹?
- 9. Gulp - 递归删除空文件夹
- 10. SFTP非空文件夹递归删除
- 11. 如何删除除PHP文件名为'whatever.jpg'以外的所有子文件夹中的所有文件?
- 12. 递归解析所有XML文件并排除文件夹
- 13. 如何删除使用VBScript在临时文件夹中以特定名称开头的所有文件
- 14. 如何从Linux中的shell中删除以._开头的所有文件?
- 15. 删除文件夹中的所有文件,排除某些文件被删除
- 16. 查找文件夹中的所有.php文件递归
- 17. 如何删除文件夹及其子文件夹内的所有空文件?
- 18. 删除文件夹内的所有文件,但删除最后?
- 19. Android删除所有以特定词开头的文件
- 20. Powershell v1 - 删除指定文件夹以外的所有文件和文件夹
- 21. 删除任何文件夹中的所有文件
- 22. 如何从文件的开头删除??
- 23. 删除不以“Builder”开头的文件
- 24. Subversion:如何递归删除所有.svn文件?
- 25. 删除除了一个文件夹中的所有文件夹/文件和所有根文件
- 26. 如何删除以前发送的所有头文件
- 27. 如何从所有文本文件(递归)中删除多行文本模式?
- 28. 批处理删除文件夹+子文件夹中除文件类型以外的所有文件
- 29. 如何删除Azure文件存储文件夹中的所有文件?
- 30. 删除文件夹和所有子文件夹(包括文件夹)中的所有文件
你使用什么编程语言? – 2010-08-15 11:22:19