From: Sergey Matveev Date: Sun, 24 Jan 2021 22:47:32 +0000 (+0300) Subject: Как начать любить shell script: узнать размер файла X-Git-Url: http://www.git.stargrave.org/?a=commitdiff_plain;h=7cdceadae4be75a1cc450f380e01b667ef5ca7d5;p=stargrave-blog.git Как начать любить shell script: узнать размер файла https://unix.stackexchange.com/questions/16640/how-can-i-get-the-size-of-a-file-in-a-bash-script Возможно сейчас поздно и поэтому голова плохо соображает, но я осознал что не знаю как кроссплатформенно узнать размер файла в shell-е. Парсить ls или менять ему формат -- не серьёзно, ведь есть же stat утилита. Которую я и использовал прежде. А сегодня проверил такой же ли у неё способ задания формата вывода как и в GNU? Фиг там! И у ls разный, и у stat. Пошёл по быстрому искать ответ всё ли так плохо. Да, всё плохо. Много людей умудряются не понимать для чего нужен du. Если у ls всё же стандартизованный вывод (ага, нужно выставлять POSIXLY_CORRECT для GNU), то он бы мог быть портируемым вариантом. "wc -c" мне решение тоже приходило в голову, но... оно не показывает размер файла из иноды, а действительно считает кол-во символов сколько из него можно прочитать. В итоге, пока остановился на perl -e 'print -s $ARGV[0]', хотя тут мог бы быть и *awk и хоть python однострочник. Удивительно, сколько лет можно жить, работать с shell, но на такие простейшие вопросы не знать ответа простого и чёткого. ---