2013-05-03 3 views
0

Я использую find . -type d, чтобы перечислить все каталоги в папке. Теперь скажите, что я в папке home.Использование grep для фильтрации каталогов

И что-то, как это мой результат:

. 
./.cache 
./.config/junk 
./Documents 
./Downloads 
./.local/share/junk1 
./.local/share/junk2 
./.mozilla/junk1 
./Pictures 
./Videos 

Я, однако, не хочу, чтобы эти скрытые файлы появятся в списке. Выполнение find . -type d | grep -v ./. не работает. В этом случае он отображает только ..

Любая идея, как отфильтровать скрытые папки?

+0

'.' соответствует любому символу, используйте '/ \.' – Kevin

ответ

1

попробовать это:

find ...|grep '^./[^.]' 

Кстати, find имеет опцию regex, вы можете рассмотреть возможность использования, так что кроме того, что grep ЦМД.

например.

0

Вы забыли избежать своего рисунка.

. соответствует любому персонажу.

\. соответствует символу точки.

^exp соответствует шаблону, начинающемся с exp.

Если вы хотите, чтобы отфильтровать скрытые папки только на базовом уровне:

find . -type d | grep -v '^\./\.'

Если вы хотите, чтобы отфильтровать скрытые папки на всех глубинах:

find . -type d | grep -v '/\.'

Смежные вопросы