Модераторы: powerfox, ZeeLax
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Определение числа файлов заданного каталога 
V
    Опции темы
DrWeb
Дата 7.1.2009, 15:50 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.11.2007
Где: Украина, Донецк

Репутация: нет
Всего: 1



У меня подзадачка: Определение числа файлов заданного каталога, имеющих четный и нечетный размер соответственно
как будет выглядеть этот скрипт?

Как проверить является ли файл директорией:
for a in $pash/*
do
#тут-как проверить шо файл директория
done

Это сообщение отредактировал(а) DrWeb - 7.1.2009, 16:21
PM MAIL WWW   Вверх
nickless
Дата 7.1.2009, 17:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Гентозавр
****


Профиль
Группа: Участник Клуба
Сообщений: 2976
Регистрация: 29.8.2005
Где: Germany

Репутация: 41
Всего: 181





--------------------
user posted image

Real men don't use backups, they post their stuff on a public ftp server and let the rest of the world make copies
- Linus Torvalds
PM MAIL   Вверх
DrWeb
Дата 7.1.2009, 18:02 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.11.2007
Где: Украина, Донецк

Репутация: нет
Всего: 1



А такой код норм или нет:

func()
{
 kol=0 
 sum=0
 for a in $path/*
 do
   if [ -f $a ]
   then
     tt=`ls -l $a | egrep '^-' | cut -f5 -d ' '`
     sum=`expr $sum + $tt`
     kol= `expr $kol +1`
   fi
 done
 ms=`expr $sum / $kol`
 echo "Средний размер файлов: "$ms
 return
}
PM MAIL WWW   Вверх
inside_pointer
Дата 8.1.2009, 02:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 344
Регистрация: 9.3.2008

Репутация: 8
Всего: 12



Код

#!/bin/bash

# определяет число файлов каталога, имеющих четный и нечетный размер

if [ -z "$1" ]; then
    echo "Usage: $(basename $0) dir" 1>&2;
    exit 1;
fi    

DIR="$1";
CHET=0;
NECHET=0;
FILE=;
FSIZE=;

for FILE in "$DIR/"*; do
    if [ ! -d "$FILE" ]; then
        FSIZE=$(ls -dl "$FILE" | awk '{ print $5; }';);
        if [ $(expr "$FSIZE" % 2) -eq 0 ]; then
            ((CHET++));
        else
            ((NECHET++));
        fi;
    fi;
done;    

echo $CHET $NECHET;

exit 0;


Это сообщение отредактировал(а) inside_pointer - 8.1.2009, 02:37
PM MAIL   Вверх
DrWeb
Дата 8.1.2009, 19:31 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 78
Регистрация: 25.11.2007
Где: Украина, Донецк

Репутация: нет
Всего: 1



nickless,inside_pointer спасибо-.задача решена smile 
PM MAIL WWW   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Linux/UNIX: Oбщие вопросы"
nickless
Imple
nerezus

В тему здесь вопросы общие - не привязанные к определенному ПО или дистрибутиву BSD/Linux/UNIX.
Например вопросы о выборе ОС для определенных задач (но если Вы просто хотите узнать "Какой дистрибутив лучше", то для этого есть Клуб юнуксоидов).
Общие вопросы по shell-программированию тоже лучше задавать здесь.


  • Вопросы мобильной разработки тут
  • Вы должны соблюдать правила форума.
  • Помните: какой вопрос, такой и ответ. Прежде чем задать вопрос прочитайте вот эту статью на форуме CIT.
  • Оскорблять запрещается.
  • Религиозные войны в Религиозных войнах.
  • Общение "просто так" в Клубе юнуксоидов. В отличие от многих других разделов, здесь разрешается сдержанно оффтопить и юморить в тему.

За интересные статьи, находки, решения, программы и просто реальную помощь будут ставиться + в репу).


В данный момент этот раздел модерируют nerezus, nickless, powerfox, pythonwin, Imple и ZeeLax. Если вы хотите помочь нам, пишите в ПМ и мы обсудим.


Спасибо. И use UNIX or die; С уважением, nerezus, nickless, powerfox, pythonwin, Imple, ZeeLax.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | *NIX системы: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0463 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.