我正在使用find . -type d
列出文件夹中的所有目录。现在说我在home
文件夹中。
这样的结果就是我的结果:
.
./.cache
./.config/junk
./Documents
./Downloads
./.local/share/junk1
./.local/share/junk2
./.mozilla/junk1
./Pictures
./Videos
但我不希望这些隐藏文件出现在列表中。执行find . -type d | grep -v ./.
无效。在这种情况下,它仅显示.
作为输出。
知道如何过滤掉这些隐藏文件夹吗?
答案 0 :(得分:1)
试试这个:
find ...|grep '^./[^.]'
btw,find
有选项regex
,您可以考虑使用,以便保存grep
cmd。
e.g。
find . -type d -a -regex '^./[^.].*'
答案 1 :(得分:0)
你忘了逃避你的模式。
.
匹配任何字符。
\.
匹配点字符。
^exp
匹配以exp
开头的模式。
如果您只想过滤基本级别的隐藏文件夹:
find . -type d | grep -v '^\./\.'
如果您要过滤掉所有深度的隐藏文件夹:
find . -type d | grep -v '/\.'