Как суммировать столбец с соответствующими символами в определенном месте? - PullRequest
0 голосов
/ 29 апреля 2019

Я хотел бы добавить вывод du для всех подпапок с определенными символами подпапок.

Я пробовал (пример)

du -s /aa/bb/cc/*/ | sort -k2.11,2.14

где я получил отсортированный вывод

2000 /aa/bb/cc/1234/
1000 /aa/bb/dd/1234/
2000 /aa/bb/ff/1234/
2000 /aa/bb/cc/5678/
2000 /aa/bb/dd/5678/
3000 /aa/bb/ee/5678/
1000 /aa/bb/gg/5678/

Теперь я хотел бы добавить все с 1234 и 5678

Ожидаемый результат

5000 -- 1234

8000 -- 5678

1 Ответ

0 голосов
/ 29 апреля 2019

Вы можете использовать awk для хранения всего содержимого первого поля в массиве a с помощью ключа 2-го последнего поля.

du -s /aa/bb/cc/*/ | sort -k2.11,2.14 |awk -F'/' '{a[$(NF-1)]+=$1}END{for(i in a) print a[i],i}'
8000 5678
5000 1234
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...