Асемблер. Задание Подсчитать количество файлов в подкаталоге. Найти в подкаталоге файл наибольшего объема. Вычислить суммарный объем, занимаемый файлами в подкаталоге.
Скачать 278.66 Kb.
|
Задание Подсчитать количество файлов в подкаталоге. Найти в подкаталоге файл наибольшего объема. Вычислить суммарный объем, занимаемый файлами в подкаталоге. Вычислить средний объем файла в подкаталоге. (12 вариант) Подсчитать количество файлов в подкаталоге, не являющимися подкаталогами. Описание команд ls – вывод списка файлов текущего подкаталога на экран. Ключи: -l – список файлов подкаталога с дополнительной информацией о каждом файле. -S – вывести суммарный объем файлов. grep – фильтр для поиска соответствия регулярному выражению, задаваемому в качестве первого аргумента. head – фильтр, предназначенный для вывода в стандартный поток вывода нескольких первых строк стандартного потока ввода. Ключи: -n – задает число выводимых строк. wc – фильтр, предназначенный для подсчета строк, слов и символов в стандартном потоке ввода. По умолчанию выведет все три параметра. Ключи: -l – выдать только число строк. -с – размер в байтах find – поиск Ключи: -maxdepth – максимальная глубина поиска -type f – только файловый тип -print0 – опция find. Вывод, за которым следует нулевой символ, а не символ новой строки как в -print. Xargs – передаём результат предыдущих команд как аргумент последующей команде Ключи: -0 – Использует во входном потоке символ-разделитель нуль (“\0”) вместо пробела и перевода строки Cat – читает данные из файла или стандартного потока ввода и выводит их на экран Echo – вывод строки в терминал Конвейеры и вывод в терминал. Ls -lS | grep “^-“ | head -1 SUM="$(find -maxdepth 1 -type f -print0 | xargs -0 cat | wc -c)" NUM="$(ls - l | grep "^-" | wc -l)" AVG="$((SUM / NUM))" echo "$SUM" echo "$NUM" echo "$AVG" Результат Вывели все файлы и их размеры. После этого вывели только файл, имеющий наибольший размер. Нашли сумму всех файлов в подкаталоге, их количество, поделили сумму на количество и нашли средний размер всех файлов в подкаталоге. Вывели числа в консоль. Стоит заметить, что мы захватили ещё и скрытые системные файлы. |