anonymous@RULINUX.NET~# Last login: 2024-03-29 16:04:48
Регистрация Вход Новости | Разметка | Пользователи | Галерея | Форум | Статьи | Неподтвержденное | Трекер | Правила форума | F.A.Q. | Ссылки | Поиск
[#] [Добавить метку] [Редактировать]
Скрыть

чем можно провести анализ дерева каталогов?

интересуют следующие параметры

1) файлы в порядке убывания их размера

2) директории в порядке убывания размера количества файлов в них(желательно чтобы было видно число файлов в них)

можно конечно написать, но может готовая приблуда есть...

vilfred(*) (2018-07-24 17:07:47)
Отредактировано vilfred по причине грамматика
Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0

[Ответить на это сообщение]
avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

нашел сам уже

2) find /home/vilfred/pereplet/backup/ -type d -print0 | while read -d '' -r dir; do files=("$dir"/*); printf "%5d files in directory %s\n" "${#files[@]}" "$dir"; done| sort -rn -k1 | less

1) find . -type f -print0 | xargs -0 ls -la | awk '{print int($5/1000) " KB\t" $9}' | sort -n -r -k1 | less

vilfred(*)(2018-07-24 17:54:11)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

Что делает это выражение ${#files[@]} ?

туда попвадает строка с именем каталога, а возвращается количество файлов в нем, я не понял как.

anonymous(*)(2018-07-24 20:11:31)

Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0
avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

а фиг его знает что она делает. это какоето шаманство со стековерфлова

vilfred(*)(2018-07-24 21:18:03)

Mozilla/5.0 (X11; Fedora; Linux x86_64; rv:60.0) Gecko/20100101 Firefox/60.0
avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

копипаста из поиска про подобное в баш.

@ Позиционные параметры, начинающиеся с параметра 1. Если подстановка сделана внутри двойных кавычек, каждый параметр начинается с одного слова, так что "$@" эквивалентно "$1" "$2" .... Если есть вероятность, что ваши параметры будут содержать внутри себя пробелы, вы захотите использовать эту форму. # Число параметров, за исключением параметра 0.

anonymous(*)(2018-07-24 21:42:31)

Mozilla/5.0 (Windows NT 6.1; rv:52.0) Gecko/20100101 Firefox/52.0
avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

Если надо просто оценить куда копать, пользуюсь конструкцией такого вида (как-то проще запомнить, чем этитвои чудовищные финды):

bash

du -h /usr | sort -rhk 1 | head
 


Или вот, найти, например, все файлы жырнее 25 мегов (к сортировке sort'ом вроде непригодно - он не умеет в колоки, разделённые переменным числом пробелов):
bash

find /usr -type f -size +25M -ls
 

anonymous(*)(2018-07-25 00:12:52)
Отредактировано anonymous по причине "не указана"
Mozilla/5.0 (X11; Ubuntu; Linux x86_64; rv:61.0) Gecko/20100101 Firefox/61.0
avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

> Что делает это выражение ${#files[@]} ?
Количество элементов массива.

bash

AR=( "Путин" "Вилли" "президент" )

# длина первого элемента массива
echo ${#AR} # 5

# длина третьего элемента массива
echo ${#AR[2]} # 9

# длина массива (кол-во элементов)
echo ${#AR[@]} # 3
 

anonymous(*)(2018-07-25 12:58:27)

avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

> du -h /usr | sort -rhk 1 | head
Использую baobab. И просто, и наглядно.

anonymous(*)(2018-07-25 13:05:54)

avatar
Скрыть

Re:чем можно провести анализ дерева каталогов?

> Использую baobab. И просто, и наглядно.
<slowpoke>

Поддерживаю baobab, очень удобная штука.

Если нужно именно в консольке, то -- ncdu -- тоже самое, только «вид с боку» (в ncurses, tui, в консоле).

ну и, на худой конец: du -shc /path/* | sort -h
(
параметры у du:
-s это --summarize (общий итог)
-h это --human-readable (выводить для людей)
-c это --total (общий итогв конце)
, а у sort:
-h это --human-numeric-sort (сотрировать вывод для людей, 22M < 1G)
)
ну и если нужно сортануть "наоборот", то, для простоты, можно в конце добавить tac (cat наоборот) через пайп: du -shc /path/* | sort -h | tac

</slowpoke>

anonymous(*)(2019-10-22 00:00:35)
Отредактировано anonymous по причине "не указана"
Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/76.0.3809.100 Safari/537.36
Этот тред читают 1 пользователь:
Анонимных: 1
Зарегистрированных: 0




(c) 2010-2020 LOR-NG Developers Group
Powered by TimeMachine

Valid HTML 4.01 Transitional Правильный CSS!