в чем разница между двумя скриптами?:
==== 1 ====
echo -n > $OUTFILE
/usr/bin/find $SOMEDIR | while read FNAME; do
[ ! -d "$FNAME" ] && md5sum "$FNAME" >> $OUTFILE
done
==== 2 ====
/usr/bin/find $SOMEDIR | while read FNAME; do
[ ! -d "$FNAME" ] && md5sum "$FNAME"
done > $OUTFILE
Как я понимаю, в первом случае после каждой вычесленной md5sum будет производиться запись в файл (и файловый дескриптор будет закрываться), а во втором будет копиться в памяти весь результат, а потом писаться в файл одним большим куском...
тогда получается что в первом случае постоянно открывается/закрывается файловый дескриптор, но кушается мало памяти на буфер строки, а во вотором случае файл открывается 1 раз, но вся строка-результат копиться в памяти (что может быть плохо если файлов оч много)... тогда первый случай предпочтительнее ибо у нас нет риска израсходовать много памяти...
или же во втором случае сразу открывается файл и по мере получения строки от md5sum она сразу сбрасывается в файл? тогда второй вариант лучше, т.к. не открывается/закрывается постоянно файловый дескриптор...
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.
Похожие темы
- Форум теоритический вопрос (2000)
- Форум [теоритически] клавиатура карманного девайса (2011)
- Форум Теоритические вопросы на ночь :) (2007)
- Форум Теоритические основы функционального программирования (2005)
- Форум Теоритический вопрос про анализирование https (2013)
- Форум теоритический вопрос по параллельному программированию (2010)
- Форум Теоритический вопрос для любителей мозги поразмять (2012)
- Форум bash, ffmpeg, какой-то трындец и непонятки (2023)
- Форум Shell (2012)
- Форум shell (2008)