微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

linux – 如何查找隐藏文件

我有一些文件,它们的名字是这样的

.abc efg.txt 
.some other name has a dot in front.txt
......

我想做这样的事情

for i in `ls -a` ; do echo $i; done;

我希望结果应该是

.abc efg.txt
.some other name has a dot in front.txt

但结果却是一团乱糟糟的……
我怎么能得到那些隐藏文件???

谢谢

解决方法:

而不是使用ls使用shell模式匹配:

for i in .* ; do echo $i; done;

如果你想要隐藏和正常的所有文件

for i in * .* ; do echo $i; done;

(请注意,这也会让你.并且…,如果你不想要那些你必须过滤掉那些,也请注意,如果没有(隐藏)文件,这种方法会失败,在这种情况下你也必须过滤掉*和.*)

如果您想要所有文件并且不介意使用bash特定选项,可以通过设置dotglob和nullglob来优化它. dotglob将使*也找到隐藏文件(但不是.和..),如果没有匹配的文件,nullglob将不会返回*.所以在这种情况下,您不必进行任何过滤:

shopt -s dotglob nullglob
for i in * ; do echo $i; done;

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐