Форум русскоязычного сообщества Ubuntu


Увидели сообщение с непонятной ссылкой, спам, непристойность или оскорбление?
Воспользуйтесь ссылкой «Сообщить модератору» рядом с сообщением!

Автор Тема: find не выбирает файлы по заданной группе  (Прочитано 944 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн LpsoldierMike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Задание вот какое : нужен скрипт, с помощью которого можно узнать сумму размеров файлов в байтах, которые принадлежат определенной группе пользователей.

Путь и группу пользователей нужно вводить:

Вот что есть :

#!/bin/sh
find $1 -maxdepth 1 -type f -group $2| ls -l $1| awk'{s=s+$5};END{print s "b"}'

Сам скрипт работает, только выводит сумму всех файлов, в не зависимости к какой группе они принадлежат.
Может кто то подсказать в чем ошибка? И помочь разрешить данную задачу. Возможно есть решение как либо по другому!

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: find не выбирает файлы по заданной группе
« Ответ #1 : 19 Ноября 2012, 15:53:09 »
Код: (bash) [Выделить]
find $DIR -group $GROUP -exec du -bc {} \+ | tail -n1 | cut -f1

Оффлайн LpsoldierMike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Re: find не выбирает файлы по заданной группе
« Ответ #2 : 19 Ноября 2012, 21:29:19 »
Попробовал ваш вариант, все равно не выходит(  :-[

Вот что у меня получилось :

#!/bin/sh
echo "Size of files:"
find $DIR -group $GROUP -exec du -bc {} \+ | tail -n1 | cut -f1

Запуск : ./shell /lab2/shell/ country1

Как результат : find: illegal option --g

Что не так , не пойму!

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: find не выбирает файлы по заданной группе
« Ответ #3 : 19 Ноября 2012, 21:37:39 »
find $1 -group $2 -exec du -bc {} \+ | tail -n1 | cut -f1
Wars ~.o

Оффлайн LpsoldierMike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Re: find не выбирает файлы по заданной группе
« Ответ #4 : 19 Ноября 2012, 21:48:01 »
Ха, исправил, ругается теперь на du.

du: illegal option -- b

Оффлайн victor00000

  • Старожил
  • *
  • Сообщений: 15568
  • Глухонемой (Deaf)
    • Просмотр профиля
Re: find не выбирает файлы по заданной группе
« Ответ #5 : 19 Ноября 2012, 21:50:39 »

find $1 -group $2 -exec "du -bc {} \+ | tail -n1 | cut -f1"
Wars ~.o

Оффлайн ArcFi

  • Старожил
  • *
  • Сообщений: 15189
    • Просмотр профиля
    • aetera.net
Re: find не выбирает файлы по заданной группе
« Ответ #6 : 19 Ноября 2012, 21:52:45 »
Ха, исправил, ругается теперь на du.
du: illegal option -- b
Ну и фиг с ним, уберите к чертям  опцию "-b".
А вообще, с чего вдруг такие задачи, если вам ещё азы учить и учить?
Может, начать с простого?

Оффлайн LpsoldierMike

  • Автор темы
  • Новичок
  • *
  • Сообщений: 37
    • Просмотр профиля
Re: find не выбирает файлы по заданной группе
« Ответ #7 : 19 Ноября 2012, 21:54:52 »
Ха, исправил, ругается теперь на du.
du: illegal option -- b
Ну и фиг с ним, уберите к чертям  опцию "-b".
А вообще, с чего вдруг такие задачи, если вам ещё азы учить и учить?
Может, начать с простого?

М... учить то да, у меня по курсу лабораторных только в 1-ой работе нужен скрипт, вот. Если бы мне бы у меня все л.р. были основаны на этих скриптах, то я бы разобрался как следует, а так мне это не нужно сейчас, и если честно нету на это времени. Вот поэтому и написал сюда.

Убрал -bс, теперь какую бы группу не вводил, выводит число 4.

Вернул -с, теперь с разными группами выводит разные числа 4 8 56, что это, не пойму!

Помогите, очень нужно сдать скрипт в среду!!!
« Последнее редактирование: 19 Ноября 2012, 22:14:30 от LpsoldierMike »

 

Страница сгенерирована за 0.035 секунд. Запросов: 27.