История изменений
Исправление Zmicier, (текущая версия) :
А! Блин, не надо так больше делать, мы не в IRC.
Там у вас лежит следующее:
#!/bin/bash
outputFileName='output.txt';
# удаляем файл с предыдущим результатом
if [ -f "$outputFileName" ]; then
rm --verbose --force "$outputFileName";
fi;
filelist=`mktemp`;
# ограничиваем поиск двумя результатами, этого достаточно, чтобы увидеть эффект
find -maxdepth 1 -type f > "$filelist";
cat "$filelist" | head -n 2 | while read fileNameLine
do
echo "Отладка: точка алгоритма: просматриваем файл $fileNameLine";
maxLen=0;
cat "$fileNameLine" | while read fileContentLine
do
gotLineLen=`echo "$fileContentLine" | wc --bytes`;
echo "Отладка: точка алгоритма: начинаем обрабатывать строку";
echo "Отладка: обзор переменных: " \
"maxLen=$maxLen (сохранённая длина), " \
"gotLineLen=$gotLineLen (найденная длина)";
if [ "$maxLen" -lt "$gotLineLen" ]; then
echo "Отладка: точка алогритма: " \
"присваиваем найденное значение $gotLineLen... ";
maxLen="$gotLineLen";
echo "Отладка: обзор переменных: maxLen=$maxLen";
fi;
echo "Отладка: точка алгоритма: закончили обрабатывать строку";
echo;
done;
echo "ВНИМАНИЕ: строчкой ниже - разрыв шаблона!";
echo "Отладка: обзор переменных: maxLen=$maxLen";
echo "Отладка: точка алгоритма: закончили смотреть файл";
echo -e "\n";
if [ "$maxLen" -gt 0 ]; then
echo "Результат: $maxLen: $fileNameLine";
fi;
echo
done;
rm -vf "$filelist";
Да, E, прощу прощения, здесь цикл конечно же в подоболочке.
И да, не могу не согласится с анонимом, говнокод действительно адовый. Вы определеяете размер файла, записывая его целиком в переменную что ли (gotLineLen=`echo "$fileContentLine" | wc --bytes`;
)? O_o
Расскажите нормально, что вам нужно?
Исправление Zmicier, :
А! Блин, не надо так больше делать, мы не в IRC.
Там у вас лежит следующее:
#!/bin/bash
outputFileName='output.txt';
# удаляем файл с предыдущим результатом
if [ -f "$outputFileName" ]; then
rm --verbose --force "$outputFileName";
fi;
filelist=`mktemp`;
# ограничиваем поиск двумя результатами, этого достаточно, чтобы увидеть эффект
find -maxdepth 1 -type f > "$filelist";
cat "$filelist" | head -n 2 | while read fileNameLine
do
echo "Отладка: точка алгоритма: просматриваем файл $fileNameLine";
maxLen=0;
cat "$fileNameLine" | while read fileContentLine
do
gotLineLen=`echo "$fileContentLine" | wc --bytes`;
echo "Отладка: точка алгоритма: начинаем обрабатывать строку";
echo "Отладка: обзор переменных: " \
"maxLen=$maxLen (сохранённая длина), " \
"gotLineLen=$gotLineLen (найденная длина)";
if [ "$maxLen" -lt "$gotLineLen" ]; then
echo "Отладка: точка алогритма: " \
"присваиваем найденное значение $gotLineLen... ";
maxLen="$gotLineLen";
echo "Отладка: обзор переменных: maxLen=$maxLen";
fi;
echo "Отладка: точка алгоритма: закончили обрабатывать строку";
echo;
done;
echo "ВНИМАНИЕ: строчкой ниже - разрыв шаблона!";
echo "Отладка: обзор переменных: maxLen=$maxLen";
echo "Отладка: точка алгоритма: закончили смотреть файл";
echo -e "\n";
if [ "$maxLen" -gt 0 ]; then
echo "Результат: $maxLen: $fileNameLine";
fi;
echo
done;
rm -vf "$filelist";
Да, E, прощу прощения, здесь цикл конечно же в подоболочке.
И да, не могу не согласится с анонимом, говнокод действительно адовый. Вы определеяете размер файла, записывая его целиком в переменную что ли (gotLineLen=`echo "$fileContentLine" | wc --bytes`;
)? O_o
Исправление Zmicier, :
А! Блин, не надо так больше делать, мы не в IRC.
Там у вас лежит следующее:
#!/bin/bash
outputFileName='output.txt';
# удаляем файл с предыдущим результатом
if [ -f "$outputFileName" ]; then
rm --verbose --force "$outputFileName";
fi;
filelist=`mktemp`;
# ограничиваем поиск двумя результатами, этого достаточно, чтобы увидеть эффект
find -maxdepth 1 -type f > "$filelist";
cat "$filelist" | head -n 2 | while read fileNameLine
do
echo "Отладка: точка алгоритма: просматриваем файл $fileNameLine";
maxLen=0;
cat "$fileNameLine" | while read fileContentLine
do
gotLineLen=`echo "$fileContentLine" | wc --bytes`;
echo "Отладка: точка алгоритма: начинаем обрабатывать строку";
echo "Отладка: обзор переменных: " \
"maxLen=$maxLen (сохранённая длина), " \
"gotLineLen=$gotLineLen (найденная длина)";
if [ "$maxLen" -lt "$gotLineLen" ]; then
echo "Отладка: точка алогритма: " \
"присваиваем найденное значение $gotLineLen... ";
maxLen="$gotLineLen";
echo "Отладка: обзор переменных: maxLen=$maxLen";
fi;
echo "Отладка: точка алгоритма: закончили обрабатывать строку";
echo;
done;
echo "ВНИМАНИЕ: строчкой ниже - разрыв шаблона!";
echo "Отладка: обзор переменных: maxLen=$maxLen";
echo "Отладка: точка алгоритма: закончили смотреть файл";
echo -e "\n";
if [ "$maxLen" -gt 0 ]; then
echo "Результат: $maxLen: $fileNameLine";
fi;
echo
done;
rm -vf "$filelist";
Да, E, прощу прощения, здесь цикл конечно же в подоболочке.
И да, не могу не согласится с анонимом, говнокод действительно адовый. Вы определеяете размер файла, записывая его целиком в переменную что ли (gotLineLen=`echo "$fileContentLine" | wc --bytes`;
)?
Исходная версия Zmicier, :
[urlhttp://paste.org.ru/?blznrv]Полный исходник
А! Блин, не надо так больше делать, мы не в IRC.
Там у вас лежит следующее:
#!/bin/bash
outputFileName='output.txt';
# удаляем файл с предыдущим результатом
if [ -f "$outputFileName" ]; then
rm --verbose --force "$outputFileName";
fi;
filelist=`mktemp`;
# ограничиваем поиск двумя результатами, этого достаточно, чтобы увидеть эффект
find -maxdepth 1 -type f > "$filelist";
cat "$filelist" | head -n 2 | while read fileNameLine
do
echo "Отладка: точка алгоритма: просматриваем файл $fileNameLine";
maxLen=0;
cat "$fileNameLine" | while read fileContentLine
do
gotLineLen=`echo "$fileContentLine" | wc --bytes`;
echo "Отладка: точка алгоритма: начинаем обрабатывать строку";
echo "Отладка: обзор переменных: " \
"maxLen=$maxLen (сохранённая длина), " \
"gotLineLen=$gotLineLen (найденная длина)";
if [ "$maxLen" -lt "$gotLineLen" ]; then
echo "Отладка: точка алогритма: " \
"присваиваем найденное значение $gotLineLen... ";
maxLen="$gotLineLen";
echo "Отладка: обзор переменных: maxLen=$maxLen";
fi;
echo "Отладка: точка алгоритма: закончили обрабатывать строку";
echo;
done;
echo "ВНИМАНИЕ: строчкой ниже - разрыв шаблона!";
echo "Отладка: обзор переменных: maxLen=$maxLen";
echo "Отладка: точка алгоритма: закончили смотреть файл";
echo -e "\n";
if [ "$maxLen" -gt 0 ]; then
echo "Результат: $maxLen: $fileNameLine";
fi;
echo
done;
rm -vf "$filelist";
Да, E, прощу прощения, здесь цикл конечно же в подоболочке.
И да, не могу не согласится с анонимом, говнокод здесь есть.