.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
但事实certificate一团糟……我怎么能得到这些隐藏的文件?
在Windows资源pipe理器中隐藏Vim备份(*〜)
在Windows中将文件另存为.RProfile
归档(Ubuntu的焦油)隐藏的目录
Windows使用隐藏的文件而不是path中的目录…为什么?
IOError:尝试以“w”模式打开隐藏文件时,权限被拒绝
谢谢
在Windows中隐藏文件
如何在java文件select器中访问隐藏的linux文件夹
PHP的scandir()排除隐藏的文件在Windows下?
Windows显示/隐藏隐藏的文件/文件夹 – 单击 – 是否可以使用batch file – 或者单击?
用sed和mv命令取消隐藏unix中的隐藏文件
而不是使用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;
避免. 和..你可以这样做:
find . -name ".*" -type f -maxdepth 1 -exec basename {} ";"
这将打印你想要的。 如果你需要做更多的事情而不是echo ,那就把它作为exec的参数。
for fname in .*; do echo $fname; done; 将打印. 还有..
要查找隐藏的文件,请使用find:
find . -wholename "./.*"
从结果中排除他们:
find . -wholename "./.*" -prune -o -print
ls -1a | while read aFileName do echo $aFileName done
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。