Dariusz Rodziewicz

Dariusz Rodziewicz Specjalista
Informatyk ds.
Systemów Medycznych,
Przedsięb...

Temat: bash + nr tygodnia

Witam

Mam napisane skrypty, które w zależności od nr tygodnia wykonują określone czynności. Mam problem ze skryptami na początku roku, kiedy nr tygodnia < 10.

nrtyg=`date +%V`

W wyniku otrzymuję wartość tekstową (np. 01, 02, ..., 09), na której nie mogę wykonać żadnych działań arytmetycznych.
Potrzebuję weryfikować, czy nr danego tygodnia jest parzysty, czy też nie.

if [ $(($nrtyg % 2)) -eq 0 ]
then

Ma ktoś pomysł na rozwiązanie problemu?

Pozdrawiam

Darek
Piotr Głudkowski

Piotr Głudkowski Rzucam się na
wszystko to, co jest
ciekawe i wymaga
rusze...

Temat: bash + nr tygodnia

Miałem kiedyś podobny problem.
Nie udało mi się tego rozwiązać w sposób "elegancki".
Stanęło na dodatkowej obróbce zmiennej nrtyg przed próbą jej ewaluacji:

[ "${nrtyg:0:1}" == "0" ] && nrtyg="${nrtyg:1}"
Jarosław Postawa

Jarosław Postawa Właściciel,
Dorvin.Net

Temat: bash + nr tygodnia


$(($(date +%-W%2)))


i już jest sposób elegancki. :)Jarosław Postawa edytował(a) ten post dnia 04.03.13 o godzinie 13:53
Dariusz Rodziewicz

Dariusz Rodziewicz Specjalista
Informatyk ds.
Systemów Medycznych,
Przedsięb...

Temat: bash + nr tygodnia

Dzięki za podpowiedzi. Jest jeszcze jedno rozwiązanie:


date +%-V
Jarosław Postawa

Jarosław Postawa Właściciel,
Dorvin.Net

Temat: bash + nr tygodnia

"W" czy "V" nie jest w tym momencie istotne. To różnica w numerowaniu tygodni. Ten minus był ważny. :) A cała konstrukcja służy do tego, żeby nie trzeba było przypisywać zmiennych, odwoływać się do nich itp.
Michał Dziewański

Michał Dziewański Starszy
Administrator
Systemów Bankowych |
PKO BP

Temat: bash + nr tygodnia

hmmm, ciężko mi teraz sprawdzić wynik polecenia date +%-V z zerem na początku ;) ale jest jeszcze expr powinien chyba uporać się z zadaniem:


$ x="00008"
$ if ([ `expr $x % 2` == 0 ]);then echo "Parzyste"; else echo "Nieparzyste";fi
Parzyste

$ x="000000000000007"
$ if ([ `expr $x % 2` == 0 ]);then echo "Parzyste"; else echo "Nieparzyste";fi
Nieparzyste
Michał Dziewański edytował(a) ten post dnia 24.03.13 o godzinie 15:01



Wyślij zaproszenie do