Garantieinformationen Lenovo

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
mayosemmel
Beiträge: 25
Registriert: 04.02.2012 12:24:45

Garantieinformationen Lenovo

Beitrag von mayosemmel » 18.03.2013 23:17:54

Hallo zusammen,

ich bin zzt. dabei für alle Rechner bei uns in der Firma die Garantieinformationen automatisch zu erfassen.

Bei Dell habe ich dies bereits erfolgreich abgeschlossen, das Script habe ich dann auf Lenovo angepasst.
Im großen und ganzen ist auch alles soweit erfolgreich.

Allerdings ist es leider so, dass irgendetwas mit der Seriennummer nicht stimmt...
...ich komm aber einfach nicht drauf.
Ich hoffe ihr könnt mir helfen.

Zur Info: Wenn ich die Seriennummer auf einen Festwert setze, so wie es auskommentiert im Codeauszug zu sehen ist funktioniert es.
Die Seriennummern aus meinem Input-File sind alle Korrekt und funktionieren auch wenn ich sie per hand oder als Festwert eingebe.

Code: Alles auswählen

#!/bin/bash
input="geraeteuebersicht.txt"
output="output.txt"

i=0
zeilenzahl=`wc -l $input|awk '{ print $1 }'`
while read srnnr
do
	fortschritt=`echo "($i*100)/$zeilenzahl"|bc`
#	clear
	echo $fortschritt Prozent
	srnnr=`echo $srnnr|awk '{ print $2 }'`
#	srnnr=R9EX334
	curl --silent --data sysSerial=$srnnr http://support.lenovo.com/templatedata/Web%20Content/JSP/warrantyLookup.jsp >  temp.html
	anschaffung[$i]=`links2 -dump temp.html |egrep "....-..-.*-..-.."|awk '{print $1}'`
	anschaffung[$i]=`echo ${anschaffung[$i]}|awk -F - '{print $3"."$2"."$1}'`
	garantieablauf[$i]=`links2 -dump temp.html |egrep "....-..-.*-..-.."|awk '{print $2}'`
	garantieablauf[$i]=`echo ${garantieablauf[$i]}|awk -F - '{print $3"."$2"."$1}'`
	i=$(($i+1))
done < $input
x=0
echo -e "Hostname\tService-Tag\tAnschaffungsdatum\tGarantieablauf" > $output
while read zeile
do
	echo -e $zeile"\t"${anschaffung[$x]}"\t"${garantieablauf[$x]}|tr " " "\t" >> $output
	x=$(($x+1))
done < $input
Ich hoffe auf euch
Viele Grüße & Danke
mayo

Benutzeravatar
catdog2
Beiträge: 5352
Registriert: 24.06.2006 16:50:03
Lizenz eigener Beiträge: MIT Lizenz

Re: Garantieinformationen Lenovo

Beitrag von catdog2 » 19.03.2013 00:24:07

Schuss ins blaue: das dürften ja ganze Zeilen sein, also mitsamt \n, vllt verschluckt er sich da irgendwo.

edit:// habs kurz ausprobiert ist wohl das Problem

Code: Alles auswählen

curl --silent --data sysSerial=`echo $srnnr| tr -d '\n\r'` http://support.lenovo.com/templatedata/Web%20Content/JSP/warrantyLookup.jsp >  temp.html
sollte also helfen.
Zuletzt geändert von catdog2 am 19.03.2013 00:45:10, insgesamt 1-mal geändert.
Unix is user-friendly; it's just picky about who its friends are.

linuxCowboy
Beiträge: 287
Registriert: 05.02.2013 19:47:41

Re: Garantieinformationen Lenovo

Beitrag von linuxCowboy » 19.03.2013 00:27:06

Versuch mal:

Code: Alles auswählen

for srnnr in `cat $input | awk '{ print $2 }'`; do
...
done
-der_linux_cowboy
-der_linux_cowboy --- Besser werden! ... f*** w$$

mayosemmel
Beiträge: 25
Registriert: 04.02.2012 12:24:45

Re: Garantieinformationen Lenovo

Beitrag von mayosemmel » 19.03.2013 10:11:04

Vielen Dank an catdog!

Auf so einen einfachen Fehler hätte ich auch selbst kommen können aber manchmal 8O

Schönen Tag euch allen!

Antworten