Форум программистов, компьютерный форум, киберфорум
Shell, Bash
Войти
Регистрация
Восстановить пароль
Карта форума Темы раздела Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.81/21: Рейтинг темы: голосов - 21, средняя оценка - 4.81
0 / 0 / 0
Регистрация: 13.12.2010
Сообщений: 48
1

Найти в каталоге все файлы, владельцем которых является заданный пользователь (нужны комментарии)

27.02.2012, 10:22. Показов 4396. Ответов 1
Метки нет (Все метки)

Author24 — интернет-сервис помощи студентам
Есть пример. Но не могу разобраться с ним. Если не тяжело обьясните как работает эта программа и напишите комментарии.
Linux Bash.
Bash
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
#!/bin/bash
 
if [[ ! -d $2 ]] ;
then
    echo "Путь $2 не существует или не является каталогом"
    exit 1
fi
 
search ()
{
    if [ ! -r $2 ];
    then #нет доступа
        echo "$2 Ошибка. Нет Доступа"
    else 
    for f in $(ls $2)
    do
        if [ -d $2/$f ]; then 
            search $1 "$2/$f" $3
        else
            if [ $1 = $( stat "$2/$f" -c %U ) ]; then
                if [ "$filescount" -eq "0" ]; then
                    echo $2/$f $( stat $2/$f -c %s) >  "$3" 
                else
                    echo $2/$f $( stat $2/$f -c %s) >> "$3"
                fi
            let "filescount=filescount+1"
            fi
        fi
        done  
    fi
}
 
let "filescount=0"
search $@ 2>/dev/null
echo "$filescount файлов найдено"
Добавлено через 54 секунды
Условие:
Написать скрипт находящий в заданном каталоге и всех его подкаталогах все файлы, владельцем которых является заданный пользователь. Имя владельца и каталог задаются пользователем в качестве первого и второго аргумента командной строки. Скрипт выводит результаты в файл (третий аргумент командной строки) в виде полный путь, имя файла, его размер. На консоль выводится общее число просмотренных файлов.
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.02.2012, 10:22
Ответы с готовыми решениями:

Вывести количество обычных файлов, владельцем которых является данный пользователь
Помогите написать bash-скрипт, который: • выводит имя текущего каталога • запрашивает имя...

Вывести на экран количество процессов, владельцем которых является пользователь rooter
Подскажите решение) Нужно в командной строке написать команду чтобы вывести на экран количество...

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

Создать в текущем каталоге заданный каталог и перенести в него из текущего каталога все текстовые файлы
Такая вот задачка. Создать командный бат-файл выполняющий следующие действия. Создать в текущем...

1
4866 / 3288 / 468
Регистрация: 10.12.2008
Сообщений: 10,570
28.02.2012, 04:58 2
всё это делается программой find

Цитата Сообщение от 123456789igor Посмотреть сообщение
На консоль выводится общее число просмотренных файлов.
это может потребовать особой обработки вывода find

1. через find найти файлы, сохранив список (в переменную или файл)
2. через wc посчитать строки в списке
3. пройти по списку, проверяя владельца
3.1 проверить владельца через stat
3.2 если владелец искомый, скопировать путь в файл-результат
3.2.1 дополнительную информацию о файле брать через stat

если бы не нужно было выводить количество просмотренных файлов, то вообще команда в одну строку
0
28.02.2012, 04:58
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
28.02.2012, 04:58
Помогаю со студенческими работами здесь

Узнать является ли пользователь владельцем определенных файлов
Как вывести имя владельца какого-либо файла и текущего пользователя?

Как открыть папки, если владельцем является другой пользователь
Всем привет!!! кароче на компе слетела винда, я взял жесткий воткнул себе в комп ну чтоб файлы...

Список процессов, владельцем которых является система
Ребята, нужна помощь. Нужно вывести список всех процессов, которые запущены пользователем система....

Найти все файлы в каталоге
Здравствуйте. Нужно найти все файлы в каталоге, которые соответствуют шаблону. Шаблон для поиска...

Удалить в заданной директории все файлы заданного расширения, размер которых больше, чем заданный пользователем
Удалить в заданной директории все файлы заданного расширения, размер которых больше, чем заданный...

Найти в текущем каталоге все файлы с первым расширением и переименовать их на второе расширение
Здраствуйте! Могли бы помочь с написанием скрипта, который: • выводит имя текущего каталога •...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
2
Ответ Создать тему
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2024, CyberForum.ru