Можете, пожалуйста исправить код bash, чтобы показыв. только скрытые непустые папки в каталоге

программирование Linux unix bash

#!/bin/bash
echo "Vvedite nazvanije kataloga"
read f

a=`du "$f"`
for d in `ls -1a "$f"`
do
n=`echo "$d" | cut -c1`
if [ $n == "." ] && [ -d "$f" ]
then
echo $a
fi
done

Вместо непустых скрытых папок выводит все папки





Примечание:
Можете показать, как правильно записать условие, чтобы была проверка на скрытость и непустоту?
Ответы:
А если так?
find /home/bagas/ -name ".*" -maxdepth 1
Ну и проверку диреткории можно сделать такую
http://blog.likeunix.ru/%d0%be%d0%bf%d1%80%d0%b5%d0%b4%d0%b5%d0%bb%d1%8f%d0%b5%d0%bc-%d0%bf%d1%83%d1%81%d1%82%d0%b0%d1%8f-%d0%bb%d0%b8-%d0%b4%d0%b8%d1%80%d0%b5%d1%82%d0%ba%d0%be%d1%80%d0%b8%d1%8f/
У тебя переменная $a содержит вывод команды du. Ты можешь писать в цикле, что угодно, но echo $a выведет тебе полное содержимое заданного каталога. Причём выведет столько раз сколько условие в теле цикла будет истинным.
for i in `find $f -name ".*" -type d`; do
   size=`du -s $i | awk ' print { $1 } '`;
   if [ 0 -ne $size ]; then
       echo "$size    $i";
   fi;
done;
KhenarGhot
Проблема в том, что пустой каталог тоже имеет размер — 4К.


13 лет назад

RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.

Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.

Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.