The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"а сертифицированные BSDA читают книги"
Отправлено Andrey Mitrofanov, 01-Июн-09 17:25 
>Использовать bash для этой задачи вообще не эффективно, тем более, что в
>конечном итоге опять таки используется bc, так почему просто не привести
>файл в удобный для bc вид. Но если хочется:
>for s in 1;do for i in `cat text` ;do echo -n
>"$i"+;done;echo 0;done |bc

|*) for не нужен. back-ticks не нужен (больше ~130к файла не влезет).
Всё "как положено": awk быстрее, на bc точность не страдает...

$ cat ./x6
#!/bin/bash

n=10
for((i=1;i<8;i++)); do
yes | head -$n |sed 's!y!10000000000001!' | (\
{ echo "sum=0"; sed 's/.\+/sum+=\0/'; echo 'print sum," "'; } | /usr/bin/time bc

) 2>&1 |awk '{print '"$((${#n}-1))"'" "$1" "$2" "$4" "$5;exit}'
n="${n}0"
done
$ ./x6
1 100000000000010 0.00user 0:00.00elapsed 0%CPU
2 1000000000000100 0.00user 0:00.00elapsed 200%CPU
3 10000000000001000 0.00user 0:00.00elapsed 100%CPU
4 100000000000010000 0.03user 0:00.05elapsed 61%CPU
5 1000000000000100000 0.36user 0:00.63elapsed 57%CPU
6 10000000000001000000 3.86user 0:06.94elapsed 56%CPU
7 100000000000010000000 39.76user 1:12.61elapsed 55%CPU
$ cat ./x6a
#!/bin/bash

n=10
for((i=1;i<8;i++)); do
yes | head -$n |sed 's!y!10000000000001!' | (\
/usr/bin/time mawk 'BEGIN {c=0} {c=c+$0} END {printf("%.0f ", c)}'

) 2>&1 |awk '{print '"$((${#n}-1))"'" "$1" "$2" "$4" "$5;exit}'
n="${n}0"
done
$ ./x6a
1 100000000000010 0.00user 0:00.00elapsed 0%CPU
2 1000000000000100 0.00user 0:00.00elapsed 100%CPU
3 10000000000000900 0.00user 0:00.00elapsed 57%CPU
4 100000000000000912 0.00user 0:00.01elapsed 53%CPU
5 1000000000000001024 0.05user 0:00.15elapsed 38%CPU
6 10000000000000002048 0.48user 0:01.56elapsed 32%CPU
7 99999999978526310400 5.17user 0:15.50elapsed 34%CPU
$ _

 

Ваше сообщение
Имя*:
EMail:
Для отправки новых сообщений в текущей нити на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
  Введите код, изображенный на картинке: КОД
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.

На сайте действует частичное премодерирование - после публикации некоторые сообщения от анонимов могут автоматически скрываться ботом. После проверки модератором ошибочно скрытые сообщения раскрываются. Для ускорения раскрытия можно воспользоваться ссылкой "Сообщить модератору", указав в качестве причины обращения "скрыто по ошибке".



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру