Автор Тема: Bash скрипт  (Прочетена 17891 пъти)

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Bash скрипт
« Отговор #30 -: Aug 23, 2007, 23:24 »
Имам предположение защо при по-малко програми работи по-бързо като цяло

Защото при една програма примерно

awk има повече аргументи да parse-ва '<img'> '<img'> Все пак обработката на низове е една от най-бавните да не кажем най...

като цяло тази обраобтка, която прави преобръщане м/у човешки разбираем код и компютърен код

нищо че гледа само ASCII или utf-8 таблица или каквото и да е parse-ването на опции и изваждането и , разбирането им кое какво да ползва изисква доста време '<img'>  Даже най-много от тези действия, който взима решение '<img'>

if(!strcmp("k",str); е впъти по -.. от
if(var == true/false) примерно

и ок, има в Unix/linux системите функции за parse-ване , но те са просто оптимизирани в това в крайна сметка пак опираме до str функции, а те са от едни най-бавните

навързани 2,3 ,4 програми с по един аргумент със сигурност ще е по бързо
от 1 пр

с 4 аргумент (3 основни и един пояснителен, който е дълъг низ '<img'> ):)

Това е идея, не казвам че съм прав,но да кажем че съм доста убеден че е така '<img'> ':p' '<img'>
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #31 -: Aug 23, 2007, 23:41 »
Според мен е защото 1) се пускат няколко процеса едновременно, като 2) обработката на информацията става поточно, а не поетапно.



Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

gat3way

  • Напреднали
  • *****
  • Публикации: 6050
  • Relentless troll
    • Профил
    • WWW
Bash скрипт
« Отговор #32 -: Aug 24, 2007, 00:01 »
Защото през тъпият awk минава къде по-малко data е според мен '<img'> Едно е да викаш awk за целият лог файл, друго е да го викаш за някаква извадка, направена с grep. Между другото, grep работи в пъти по-бързо от awk '<img'>
Активен

"Knowledge is power" - France is Bacon

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #33 -: Aug 24, 2007, 01:43 »
Да, ама никой не видя бъгчето в скрипта ми, нали? '<img'>
 ':p'  ':p'  ':p'

Още не е оправено - чакам критика '<img'>
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

empty

  • Напреднали
  • *****
  • Публикации: 893
  • Distribution: Gentoo
  • Window Manager: KDE
  • Alien Invader
    • Профил
    • WWW
Bash скрипт
« Отговор #34 -: Aug 24, 2007, 11:31 »
С извинение ще кажа "Бах мама му!". Абе хора вие не сте наред. Аз помолих за един скрипт а вие ще се избиете '<img'> Всъщност и аз съм запознат до някъде със bash скриптирането, но не достатъчно. Поисках просто да се напише от някой който е по в час от мен пък аз си я тунинговах и си я направих за моите нужди така да се каже.
Искам да изкажа много благодарности на VladSun за скриптчето което спретна!
Искам да изкажа и благодарности на the_real_maniac '<img'> Едно времи когато не бях много в час с нат-а ми направи едно скриптче за вдигане на TTL-a '<img'> Благодаря ви!
За хора които си чешат просто езиците ... това не е мястото, нито начина. Ако можете да подобрите нещо го направете, а не си мерете пишките докато са меки '<img'>.

Всичко най най!!!



Активен

Powered by 220 Volts.

romeo_ninov

  • Напреднали
  • *****
  • Публикации: 2155
    • Профил
Bash скрипт
« Отговор #35 -: Aug 24, 2007, 13:51 »
Цитат (empty @ Авг. 24 2007,12:31)
За хора които си чешат просто езиците ... това не е мястото, нито начина. Ако можете да подобрите нещо го направете, а не си мерете пишките докато са меки '<img'>.

Всичко най най!!!

Въпроса, който се повдигна е доста принципен и опира до стила на програмиране. Така че (лично) се надявам спора да не е излишен. За 10 реда скрипт въпроса не стои, но си представи че става въпрос за няколко хиляди реда
Активен

0x2B|~0x2B

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #36 -: Aug 24, 2007, 14:09 »
Цитат (VladSun @ Авг. 24 2007,01:43)
Да, ама никой не видя бъгчето в скрипта ми, нали? '<img'>
 ':p'  ':p'  ':p'

Още не е оправено - чакам критика '<img'>

Освен очевадната грешка за ползване на `` около iptables командите '<img'> (тоя Perl ...)
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

sdr

  • Напреднали
  • *****
  • Публикации: 655
    • Профил
Bash скрипт
« Отговор #37 -: Aug 24, 2007, 14:34 »
И аз си обеснявам бавната работа на awk с огромната инфраструктура която е необходима за поддръжка на множестжо различни екшъна с множество различни патърни с разни релации между тях към един екшън. Предполагам, че ако се направи пач който да елеминира излишния за анализ на входния поток когато данните няма да се зиползват обработката в този толкова прост случай от гледна точка на възможностите на awk би се подобрила значително.
Активен

the_real_maniac

  • Напреднали
  • *****
  • Публикации: 1258
  • Kernel panic, me - no panic ;-) :-)
    • Профил
Bash скрипт
« Отговор #38 -: Aug 24, 2007, 15:18 »
Значи пак говори за arguments parse и НАЙ-ВЕЧЕ разбирането '<img'> не само отделянето и разпределянето като типове ,

основен аргумент - подаргумент

-dir /path/to

и т.н '<img'>
Активен

Powered by Debian GNU / LINUX /// Intel inside ...

„Насилието е последното убежище на некомпетентността“ - Айзък Азимов (1920 — 1992)

VladSun

  • Напреднали
  • *****
  • Публикации: 2166
    • Профил
Bash скрипт
« Отговор #39 -: Aug 25, 2007, 00:31 »
Ех ... никой не поиска да се включи ...
Правилният код е:
Примерен код

#!/bin/bash

for ip in `cat /var/log/messages | grep "failed connection" | awk '{print $11}' | sort -u`; do

       acount=`cat /var/log/messages | grep "failed connection" | grep " $ip " | wc -l`

       if [ "$acount" -gt "10" ];
       then
               iptables -D INPUT -s $ip -j DROP 2>&1 > /dev/null
               iptables -I INPUT -s $ip -j DROP
       fi

done


разликаата е в grep " $ip "
Активен

KISS Principle ( Keep-It-Short-and-Simple )
http://openfmi.net/projects/flattc/
Има 10 вида хора на този свят - разбиращи двоичния код и тези, които не го разбират :P

Подобни теми
Заглавие Започната от Отговора Прегледи Последна публикация
BASH: Как да поддържам една програма работеща
Общ форум
Regia 1 9257 Последна публикация Feb 16, 2005, 08:51
от
Bash features
Настройка на програми
kostadinz 1 960 Последна публикация Mar 25, 2005, 13:42
от n_antonov
Малко помощ за bash скрипт
Общ форум
idn 3 2267 Последна публикация Feb 10, 2008, 17:39
от neter
подмяна на дума във файл през bash
Хардуерни и софтуерни проблеми
mishot 12 4102 Последна публикация Aug 01, 2008, 14:54
от Hapkoc
За bash и команди за супер потребител
Общ форум
Vatman 4 2987 Последна публикация Oct 25, 2008, 19:25
от Vatman