"date +%V": Kalenderwoche ohne führende Null

22/02/2016 - 22:35 von Wolfgang Klein | Report spam
Moin!

Mitte letzten Jahres habe ich in einem Script diese Anweisungen eingebaut:

kw=$(date +%V)
ungerade=$((kw % 2))

"Damals" waren die Wochennummer bereits zweistellig, daher ist es mir
nicht aufgefallen, aber jetzt bekomme ich folgende Fehlermeldung:

ungerade=$((kw % 2))
bash: 08: Der Wert ist für die aktuelle Basis zu groß.
(Fehlerverursachendes Zeichen ist »08«).


Dagegen funktioniert die Berechnung tadellos, wenn ich

kw=$(date --date="today +10 weeks" +%V)
ungerade=$((kw % 2))
echo $ungerade
0

oder

kw=$(date --date="today +11 weeks" +%V)
ungerade=$((kw % 2))
echo $ungerade
1

ausführe. Wie kriege ich kriege ich die führende Null weg?




Wolfgang
 

Lesen sie die antworten

#1 Torsten Fleischmann
22/02/2016 - 22:56 | Warnen spam
* Wolfgang Klein schrieb:


Mitte letzten Jahres habe ich in einem Script diese Anweisungen eingebaut:

kw=$(date +%V)
ungerade=$((kw % 2))

"Damals" waren die Wochennummer bereits zweistellig, daher ist es mir
nicht aufgefallen, aber jetzt bekomme ich folgende Fehlermeldung:

ungerade=$((kw % 2))
bash: 08: Der Wert ist für die aktuelle Basis zu groß.
(Fehlerverursachendes Zeichen ist »08«).



Zwei Lösungen...
1. Nimm die ZSH ;)
2. ungerade=$((${kw#0} % 2))

Gruß,

Torsten

Ähnliche fragen