Подсчет каталогов и подкаталогов - PullRequest
0 голосов
/ 17 марта 2020

Я хочу объединить каталоги и подкаталоги и суммировать первый столбец следующим образом:

исходный вывод:

8       ./.g/apps/panel/mon/lt/prefs
12      ./.g/apps/panel/mon/lt      
40      ./.g/apps/panel/mon                         
44      ./.g/apps/panel                                 
88      ./.g/apps                                       
112     ./.g                                            
4       ./.g                                             
4       ./.pof                                            
20      ./.local/share/applications                         
4       ./.local/share/m/packages                        
8       ./.local/share/m                                 
4       ./.local/share/Trash/info                           
4       ./.local/share/Trash/files                          
12      ./.local/share/Trash                                
44      ./.local/share   

new вывод:

308     ./.g                                                                                       
4       ./.pof                                                                           
96      ./.local/share  

исходная команда: du -k, и я пытаюсь с помощью команд awk и cut, но не удается.

edit: - Я поднялся сюда:

du -k | awk '{print $1}' | cut -d "/" -f 1 

Теперь я изо всех сил пытаюсь объединить похожие строки и суммировать первый столбец.

ps это просто пример вывода *

спасибо.

Ответы [ 3 ]

0 голосов
/ 17 марта 2020

Вы можете попробовать с командой:

du -sh *
0 голосов
/ 17 марта 2020

Попробуйте

  du -sk .g .pof .local/share

Переключатель -s является сводным, то есть du будет искать все файлы, вплоть до папок внутри, и сообщать только общую сумму. (Переключатель -k печатает размер в килобайтах; спасибо Ромео Нинов).

Вы должны вручную указать каждую папку, для которой вы хотите знать общий итог.

Если вы печатаете, для пример

  du -sk .

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

Если вы наберете

  du -sk *

, то результат будет зависеть от того, в какую оболочку развернется * (обычно все файлы и папки не начинаются с точки (.) в текущей папке).

0 голосов
/ 17 марта 2020

Используйте du -d 1, чтобы перечислить совокупное содержание 1 каталога ниже текущего.

du -h -d 1

Укажите читаемое человеком количество.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...