eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Powershell plik tekstowy
Ilość wypowiedzi w tym wątku: 22

  • 11. Data: 2011-05-04 20:38:01
    Temat: Re: Powershell plik tekstowy
    Od: "Jordan Szubert" <u...@j...us.to>

    Dnia 04-05-2011 o 22:24:51 Grzegorz Niemirowski
    <g...@p...onet.pl> napisał(a):

    > Slawek <b...@o...pl> napisał(a):
    >> Chcę z linii drugiej wyciągnąć liczbę 40 bez żadnych pętli
    >> CurrentReading: 21
    >> CurrentReading: 40
    >> CurrentReading: 19
    >> może trochę zagmatwałem to wszystko :-)
    >
    > 1. W czym Ci pętla przeszkadza? Chyba nie ma znaczenia jakiej
    > konstrukcji języka użyjesz :)
    > 2. Co rozumiesz przez wyciągnięcie liczby? Tak jak pokazuje przykład,
    > liczba jest w tablicy $matches pod indeksem 1.
    >
    > Generalnie brakuje mi dokładnego algorytmu albo nie udało mi się go
    > zrozumieć. Chcesz listę liczb większych od zadanej? Chcesz największą?
    > Chcesz pierwszą z brzegu większą od zadanej?

    IMO mu chodzi o druga z trzech liczb, a nie kazda z nie-wiadomo-ilu...

    --
    Jordan Szubert


  • 12. Data: 2011-05-04 20:42:55
    Temat: Re: Powershell plik tekstowy
    Od: "Slawek" <b...@o...pl>

    Może od początku

    Z WMI wyciągam listę dostępnych sensorów temperatury z płyty głównej z ich
    wartościami (st Celsjusza) czyli to jest mój plik test.txt

    CurrentReading: 21
    CurrentReading: 21
    CurrentReading: 40
    CurrentReading: 19
    CurrentReading: 25 <---
    CurrentReading: 17
    CurrentReading: 29
    CurrentReading: 20
    CurrentReading: 22
    CurrentReading: 23
    CurrentReading: 22
    CurrentReading: 20
    CurrentReading: 19
    CurrentReading: 19
    CurrentReading: 21
    CurrentReading: 20
    CurrentReading: 22
    CurrentReading: 29
    CurrentReading: 25
    CurrentReading: 19
    CurrentReading: 20
    CurrentReading: 44

    chcę tak w "obrobić" ten plik textowy aby tylko z linii 5 i tylko z tej
    linii wyciągnąć wskazanie temperatury czyli 25 i porównać to do wartości 30
    i jeżeli ta wartość będzie mniejsza od 30 to jest wszystko ok a jeżeli
    będzie większa od 30 to skrypt wyśle maila z informacja "Słuchaj wzrasta
    temperatura w komputerze" :-) , reszta linii (temperatur) mnie nie
    interesuje



    Użytkownik "Grzegorz Niemirowski" napisał w wiadomości grup
    dyskusyjnych:ipscle$il4$...@o...icpnet.pl...

    Slawek <b...@o...pl> napisał(a):
    > Chcę z linii drugiej wyciągnąć liczbę 40 bez żadnych pętli
    > CurrentReading: 21
    > CurrentReading: 40
    > CurrentReading: 19
    > może trochę zagmatwałem to wszystko :-)

    1. W czym Ci pętla przeszkadza? Chyba nie ma znaczenia jakiej konstrukcji
    języka użyjesz :)
    2. Co rozumiesz przez wyciągnięcie liczby? Tak jak pokazuje przykład, liczba
    jest w tablicy $matches pod indeksem 1.

    Generalnie brakuje mi dokładnego algorytmu albo nie udało mi się go
    zrozumieć. Chcesz listę liczb większych od zadanej? Chcesz największą?
    Chcesz pierwszą z brzegu większą od zadanej?

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 2 days, 12 hours, 8 minutes and 49 seconds


  • 13. Data: 2011-05-04 20:43:12
    Temat: Re: Powershell plik tekstowy
    Od: p...@p...onet.pl

    > Witam

    >

    > W pliku tekstowym mam coś takiego :

    >

    > Accuracy:

    > CurrentReading: 19

    > CurrentState: Normal

    > Description: Temperature Sensor 3 detects for Memory board. Temperature

    > reported by the sensor is within normal operating range.

    > DeviceID: Temperature Sensor 3

    >

    > Accuracy:

    > CurrentReading: 40

    > CurrentState: Normal

    > Description: Temperature Sensor 7 detects for Memory board. Temperature

    > reported by the sensor is within normal operating range.

    > DeviceID: Temperature Sensor 7

    >

    > Accuracy:

    > CurrentReading: 18

    > CurrentState: Normal

    > Description: Temperature Sensor 17 detects for Ambient / External / Room.

    > Temperature reported by the sensor is within normal operating range.

    > DeviceID: Temperature Sensor 17

    >

    nie wiem jak w powershellu ale w jakims troche poprawionym c to by bylo jak


    main()
    {
    int max_value = 0;

    for(;;)
    {
    int end_of_file, char* line = get_line("inputfile.txt");

    if(end_of_file) break;

    if(check_for_substring(line, ""CurrentReading:"))
    {
    remove_substring(line, ""CurrentReading:");
    remove_white_spaces(line);
    int value = string_to_int(line);
    if(value>max_value) max_value = value;
    }
    }

    if(max_value>45) send_email("w...@s...com", "alarm");
    }




    --
    Wysłano z serwisu OnetNiusy: http://niusy.onet.pl


  • 14. Data: 2011-05-04 20:47:15
    Temat: Re: Powershell plik tekstowy
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    Slawek <b...@o...pl> napisał(a):
    > Może od początku
    > Z WMI wyciągam listę dostępnych sensorów temperatury z płyty głównej z
    > ich wartościami (st Celsjusza) czyli to jest mój plik test.txt
    > CurrentReading: 21
    > CurrentReading: 21
    > CurrentReading: 40
    > CurrentReading: 19
    > CurrentReading: 25 <---
    > CurrentReading: 17
    > CurrentReading: 29
    > CurrentReading: 20
    > CurrentReading: 22
    > CurrentReading: 23
    > CurrentReading: 22
    > CurrentReading: 20
    > CurrentReading: 19
    > CurrentReading: 19
    > CurrentReading: 21
    > CurrentReading: 20
    > CurrentReading: 22
    > CurrentReading: 29
    > CurrentReading: 25
    > CurrentReading: 19
    > CurrentReading: 20
    > CurrentReading: 44
    > chcę tak w "obrobić" ten plik textowy aby tylko z linii 5 i tylko z tej
    > linii wyciągnąć wskazanie temperatury czyli 25 i porównać to do wartości
    > 30 i jeżeli ta wartość będzie mniejsza od 30 to jest wszystko ok a
    > jeżeli będzie większa od 30 to skrypt wyśle maila z informacja "Słuchaj
    > wzrasta temperatura w komputerze" :-) , reszta linii (temperatur) mnie
    > nie interesuje

    $wartosci = @();
    gc test.txt | foreach { if ($_ -match "CurrentReading: (\d.*)") { $wartosci
    += $matches[1] } }
    $wartosci[4]

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 2 days, 12 hours, 33 minutes and 48 seconds


  • 15. Data: 2011-05-05 08:29:28
    Temat: Re: Powershell plik tekstowy
    Od: Mariusz Marszałkowski <m...@g...com>

    On 4 Maj, 22:19, "Slawek" <b...@o...pl> wrote:
    > Chcę z linii drugiej wyciągnąć liczbę 40 bez żadnych pętli
    >
    > CurrentReading: 21
    > CurrentReading: 40
    > CurrentReading: 19
    >

    A czemu nie w C++?

    int main( ) {
    char buf[1024];
    fgets( stdio , sizeof(buf) , buf );
    fgets( stdio , sizeof(buf) , buf );
    int liczba;
    if( 1 != sscanf( buf , "%*s%s" , &liczba ) )
    abort();
    pritnf("%d\n",liczba);
    return 0;
    }

    i potem w shelu:
    program.exe < wejscie.txt > wyjscie.txt
    Pozdrawiam


  • 16. Data: 2011-05-05 09:21:47
    Temat: Re: Powershell plik tekstowy
    Od: "Grzegorz Niemirowski" <g...@p...onet.pl>

    Mariusz Marszałkowski <m...@g...com> napisał(a):
    > i potem w shelu:

    Bo można całość w shellu?

    --
    Grzegorz Niemirowski
    http://www.grzegorz.net/
    OE PowerTool i Outlook Express: http://www.grzegorz.net/oe/
    Uptime: 3 days, 1 hours, 8 minutes and 9 seconds


  • 17. Data: 2011-05-05 09:23:22
    Temat: Re: Powershell plik tekstowy
    Od: " " <f...@g...pl>


    > > Accuracy:
    >
    > > CurrentReading: 19
    >
    > > CurrentState: Normal
    >
    > > Description: Temperature Sensor 3 detects for Memory board. Temperature
    >
    > > reported by the sensor is within normal operating range.
    >
    > > DeviceID: Temperature Sensor 3
    >
    > >
    >
    > > Accuracy:
    >
    > > CurrentReading: 40
    >
    > > CurrentState: Normal
    >
    > > Description: Temperature Sensor 7 detects for Memory board. Temperature
    >
    > > reported by the sensor is within normal operating range.
    >
    > > DeviceID: Temperature Sensor 7
    >
    > >
    >
    > > Accuracy:
    >
    > > CurrentReading: 18
    >
    > > CurrentState: Normal
    >
    > > Description: Temperature Sensor 17 detects for Ambient / External / Room.
    >
    > > Temperature reported by the sensor is within normal operating range.
    >
    > > DeviceID: Temperature Sensor 17
    >
    > >
    >
    > nie wiem jak w powershellu ale w jakims troche poprawionym c to by bylo jak
    >
    >
    > main()
    > {
    > int max_value = 0;
    >
    > for(;;)
    > {
    > int end_of_file, char* line = get_line("inputfile.txt");
    >
    > if(end_of_file) break;
    >
    > if(check_for_substring(line, ""CurrentReading:"))
    > {
    > remove_substring(line, ""CurrentReading:");
    > remove_white_spaces(line);
    > int value = string_to_int(line);
    > if(value>max_value) max_value = value;
    > }
    > }
    >
    > if(max_value>45) send_email("w...@s...com", "alarm");
    > }
    >
    >
    zgoda ze w pewnym sensie jest to przyklad
    beznadziei (i to tez troche jakby programowanie
    w javie jak ja je troche poznalem) ale abstrakcje
    do przewalania tekstu to inny temat - a to chcialem
    podac z jakichs niejasnych powodow (generalnie
    jako czlowiek dolu mam ostatnio cos jak ' top
    crisis'
    >
    >


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 18. Data: 2011-05-05 09:41:04
    Temat: Re: Powershell plik tekstowy
    Od: " " <f...@g...pl>

    > > remove_white_spaces(line);

    jest sie nad czym zastanowic np
    czy takie wywolania powinny zwracac
    druga instancje czy przerobic podana


    --
    Wysłano z serwisu Usenet w portalu Gazeta.pl -> http://www.gazeta.pl/usenet/


  • 19. Data: 2011-05-05 10:12:27
    Temat: Re: Powershell plik tekstowy
    Od: Mariusz Marszałkowski <m...@g...com>

    On 5 Maj, 11:21, "Grzegorz Niemirowski" <g...@p...onet.pl>
    wrote:
    > Mariusz Marszałkowski <m...@g...com> napisał(a):
    >
    > > i potem w shelu:
    >
    > Bo można całość w shellu?
    W sumie kwestia preferencji i tego jak kto dane narzedzie zna.
    Ja osobiscie do tego typu zadan wole napisac kilka programow
    w C, a w shellu tylko je zapetlic i odpowiednio przekierowac dane.
    Pozdrawiam


  • 20. Data: 2011-05-05 11:31:53
    Temat: Re: Powershell plik tekstowy
    Od: "Stachu 'Dozzie' K." <d...@g...eat.some.screws.spammer.invalid>

    On 2011-05-05, Mariusz Marszałkowski <m...@g...com> wrote:
    > On 5 Maj, 11:21, "Grzegorz Niemirowski" <g...@p...onet.pl>
    > wrote:
    >> Mariusz Marszałkowski <m...@g...com> napisał(a):
    >>
    >> > i potem w shelu:
    >>
    >> Bo można całość w shellu?
    > W sumie kwestia preferencji i tego jak kto dane narzedzie zna.

    Kwestia preferencji i tego jak łatwo będzie wynik utrzymać.

    > Ja osobiscie do tego typu zadan wole napisac kilka programow
    > w C, a w shellu tylko je zapetlic i odpowiednio przekierowac dane.

    Ja osobiście do tego typu zadań używam jednak już gotowych narzędzi
    (awk).

    --
    Secunia non olet.
    Stanislaw Klekot

strony : 1 . [ 2 ] . 3


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: