LINUX.ORG.RU

bash скрипт и размер файлов

 


0

1

Нужно написать скрипт, где в качестве аргументов задается имена файлов через пробел. Скрипт должен вернуть суммарный размер в байтах

Пока так:

 for n in $@
  do
  m=`(du -b "$n")`+m
done
echo $m

Проблема в том, что du -b возвращает строку, где вначале размер, а затем имя файла.

Как из du -b вытащить только размер в байтах?



Последнее исправление: triest (всего исправлений: 2)

Ну дык раздели хоть тем же awk: print $1

Anon
()

du -b file | head -n1 | awk '{print $1}'

hope13 ★★★
()

du -cb аргумент1 аргумент2 аргументN выведет строку total в конце.

$ du -cb .bash_history .bash_logout .bashrc .bash_profile
30819	.bash_history
33	.bash_logout
315	.bashrc
176	.bash_profile
31343	total

В скрипте сможешь взять результат? Хотя тут вообще для однострочника задача а не для скрипта

alozovskoy ★★★★★
()
Последнее исправление: alozovskoy (всего исправлений: 2)

man cut
man awk
кут режет столбцы
а дальше маны подскажут

ubuntuawp ★★
()
Ответ на: комментарий от snoopcat

Почему-то у меня не сработало и в тот момент было лень думать.

AnDoR ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.