Прежде всего, я Баш нуб, поэтому, пожалуйста, быть нежным :)BASH: размер Сумма одноименных каталогов
Я пытаюсь подвести размер папки, которые находятся в разных местах, но имеют такое же имя , Это выглядит следующим образом:
root
--- directory 1
------ folder 1
--------subfolder 1
--------subfolder 2
------ folder 2
--------subfolder 3
--------subfolder 4
------ folder 3
--------subfolder 5
--------subfolder 6
--- directory 2
------ folder 1
--------subfolder 1
--------subfolder 2
------ folder 2
--------subfolder 3
--------subfolder 4
------ folder 3
--------subfolder 5
--------subfolder 6
Я пытаюсь подвести размер подкаталогов 1 до 6, и вывод, что в .csv
На данный момент я просто выводя размеры подкаталогов в двух отдельных файлах CSV , Один для каталога 1 и один для каталога 2
На данный момент у меня есть это для вывода размеров subfodlers, что я бегу, где они нужны мне:
du -h --max-depth=1 --block-size=GB * | grep "[\/]" | sort -n -r > ~/lists/disks/RC_job.csv
Выход выглядеть следующим образом:
40GB folder1/subfolder1
15GB folder1/subfolder2
10GB folder2/subfolder 3
...
У меня есть один вывод для каталога 1 и один для каталога 2. Я хотел бы суммировать размер подпапок из каталога один и два и иметь вывод, который выглядит следующим образом:
60GB subfolder1
25GB subfolder2
10GB subfolder3
Где subfolder1 является directory1/folder1/subfolder1 + directory2/folder1/subfolder1
Это мой первый пост здесь, я не знаю, если это достаточно информации. Я был бы рад предоставить больше, если это необходимо. Я уверен, что это можно сделать с помощью awl, но я пока не использовал это.
Cheers!
Редактировать, чтобы ответить на вопрос в комментариях:
(Часть) выхода du -h /net/rcq-rp/job/rcq/vault/image/film /net/rcq-rp/job/rcq/film --max-depth=1 --block-size=GB *
является:
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0010
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0020
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0030
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0035
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0040
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0045
2GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0050
1GB /net/rcq-rp/job/rcq/vault/image/film/nr106/nr106_0060
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0010
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0020
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0030
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0035
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0040
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0045
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0050
1GB /net/rcq-rp/job/rcq/film/nr106/nr106_0060
В идеале конечный результат будет:
2GB nr106_0010
etc...
Выберите текст и используйте инструмент '{}' в левом верхнем углу поля ввода редактирования, чтобы применить форматирование «Код образца» при необходимости. Пожалуйста, отредактируйте свой вопрос, чтобы включить примеры того, как будут выглядеть «дубликаты в 2-й колонке», и ваш необходимый результат для этого. Неясно, хотите ли вы добавить размер дубликатов и результаты вывода. Иллюстрации с фактическим входным и требуемым выходом (как вы уже начали делать!) Облегчат людям помощь. Удачи. – shellter
Спасибо за совет. Это сделано, надеюсь, что это лучше! :) – titatom
Зачем нужно иметь 'grep '[\ /]" '? – konsolebox