如何在单个调用中同时获取隐藏文件和非隐藏文件

基思·贝内特(Keith Bennett)

我有一个包含隐藏文件(名称以开头.)和未隐藏文件的目录,如下所示:

$ ls -a1
.
..
.hidden
not-hidden

如何在一次通话中列出所有这些商品?

我希望Dir['*']返回所有文件,但不会:

Dir['*']
# => ["not-hidden"]

我能想到的最好的是:

Dir['*'] + Dir['.*']
# => ["not-hidden", ".", "..", ".hidden"]

我还期望有一种使用正则表达式的方法,但我找不到它,并且无法使用,select并且grep因为没有能够同时选择隐藏和非隐藏的调用。

斯特凡

您可以将Dir::glob其与FNM_DOTMATCH标志一起使用

Dir.glob('*', File::FNM_DOTMATCH)
#=> [".", "..", ".hidden", "not-hidden"]

Dir::entries

Dir.entries('.')
#=> [".", "..", ".hidden", "not-hidden"]

您还可以使用组合模式{p,q},因此Dir['{*,.*}']也可以使用。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

TOP 榜单

热门标签

归档