删除那些讨厌的“ .DS_Store”文件


13

如果使用OS X,则可能会因使用Finder而臭名昭著的隐藏“ .DS_Store”文件。

挑战在于编写将遍历整个文件系统的代码,并删除任何名为“ .DS_Store”的文件。

高尔夫经典代码-最短代码获胜。


说明:

  • 代码中并没有需要删除需要超级用户的任何.DS_Store文件; 假设不存在此类文件。

  • 该代码应删除相关的.DS_Store文件,而不能删除其他任何文件。


3
代码是否需要删除需要超级用户的.DS_Store文件(我需要调用sudo)吗?
卡亚

1
@Kaya好问题:不,不需要删除此类文件。
arshajii

27
它是没关系删除未命名的文件.DS_Store
乔伊·亚当斯

1
@JohannesKuhn,我认为最新的编辑应该是不言而喻的。为了完整起见,我添加了它。但是,尽管如此,我还是很赞赏这个聪明的回答!
arshajii

1
@Joey —将问题随机转移到军事领域,例如,嗯……美国军方,^^。并将“名为“ .DS_Store”的文件”替换为“要杀死的人”。您会发现“仅”要求远非显而易见。
Nicolas Barbulesco,2014年

Answers:


14

zsh,19岁

rm -f /**/.DS_Store

(如果可以的话,请将其设为16。-f


12

重击*,40 30

find / -name .DS_Store -delete

find / -name .DS_Store -exec rm -f {} \;

这应该可以处理它(不是很打高尔夫球,不是很慢)。Bash似乎是正确的,因为我们不必处理任何“导入系统”的废话。如果要在任何环境中执行,都需要在其中添加4个字符,bash并在换行符中添加1个字符。

*我猜是任何壳,假设伯恩再来壳是唯一的壳,那就不能摆脱习惯。


1
Bash正是实现这一目标的正确工具。
Johannes Kuhn

1
findOS X 是什么样的?随着GNU find更短:find / -name .DS_Store -delete
manatwork

1
受“参数列表过长”错误的影响,并且需要bash4或更高版本且globstar打开了shell选项,或者是zshrm /**/.DS_Store
manatwork

1
您没有执行任何特定于bash的操作,因此也可以执行sh操作。
彼得·泰勒

10
它删除了.DS_Store我有重要内容的目录。
Konrad Borowski

9

Ruby:38 33个字符

File.delete *Dir['/**/.DS_Store']

2
Dir[...]是的快捷方式Dir.glob(...),这将为您节省5个字符。
Patrick Oscity

3
啊!我知道有一个更短的方法,但是我在中搜索了它Kernel。谢谢@padde。
manatwork

2

鱼,16

rm /**/.DS_Store

(如果-f.DS_Store在只读目录中删除,则使该值为19。)




0

CMD,17

del/s "/.DS_Store

非常简单。

/s在子目录中搜索也是必需的。
"用于转义/字符,否则将其解释为(无效)参数。


-1

找到38

先前的find解决方案是完全错误的:意味着删除所有命名的内容,.DS_Store包括目录,链接,特殊文件等。

但:

find / -type f -name .DS_Store -delete

这是使用的最小解决方案find

免责声明:我强烈建议您不要在真正的* nix框上真正使用此解决方案:尝试从中递归删除某些内容/是一个非常糟糕的主意。警告您。

编辑

如果您不清楚文件,目录,链接(硬和符号),命名管道,套接字,特殊文件,伪文件系统之间的差异,建议使用google这个未知术语。您会感到惊讶,更明智,而且不大可能出现(catstrofic)错误。

EDIT2:更加相关:OP写道“该代码应只删除相关的.DS_Store文件,而不能删除其他任何文件。” :因此,如果有人希望阅读无聊的要求,那么删除此文件之外的所有解决方案都非常有趣,精巧。但是错了


先前的find解决方案是正确的。问题是“删除任何名为“ .DS_Store”的文件”。因此,没有基于文件类型的特殊要求。
manatwork 2013年

@ manatwork:废话:文件与目录是不同的东西。沿着您的双绞线,最好的解决方案仍然是rm -rf /
DavAlPi


3
哦,还有另一件事:在代码高尔夫中,目标是获得最短的解决方案,因此,如果您可以通过按自己的喜好评估需求来节省一些字符,那么就这样吧。您可以像对待Unix一样,将所有内容都视为文件来节省8个字符。PS:哪里有惊喜?有些人否认UNIX基本原理?
Johannes Kuhn 2013年

1
现在,我有了一个更好的答案,这里的每个人都可以理解。
DavAlPi
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.