Problem mit Genauigkeit beim Auslesen einer Datei

P

PhoenixDH

NOOB
Ich habe ein Script, welches eine Datei auf den Systemnamen durchsucht !
Das Script sieht so aus:
Code:
D_delete() {
[ "$DEBUG" -gt 0 ] && echo "D_delete()"$*
[ "$DEBUG_D_delete" -eq 1 ] && set -xv

MASCHINE=$1
SYSTEM=`grep ${MASCHINE} ${PFAD}/ALL_HWINFO | awk -F: '{ print $3 }'`

  grep -v ${MASCHINE} ${SOURCEPFAD}/${SYSTEM}.txt > ${SOURCEPFAD}/${SYSTEM}.tmp
  sort ${SOURCEPFAD}/${SYSTEM}.tmp > ${SOURCEPFAD}/${SYSTEM}.txt
  rm ${SOURCEPFAD}/${SYSTEM}.tmp


	if [ -d ${SOURCEPFAD}/${MASCHINE} ]
        then
	if [ -d ${SOURCEPFAD}/maschinen_old/${MASCHINE} ]
	then
           #Wenn ja wird diese geloescht
           rm -r ${SOURCEPFAD}/maschinen_old/${MASCHINE}
	fi
           mv ${SOURCEPFAD}/${MASCHINE} ${SOURCEPFAD}/maschinen_old/	
        fi
	
	grep -c HREF ${SOURCEPFAD}/${SYSTEM}.txt >${SOURCEPFAD}/${SYSTEM}_zaehler.txt
	
} # end D_delete

Die Datei ALL_HWINFO soz.B.:
Code:
fire: Precision WorkStation 360:WST
fire2: Precision WorkStation 360:WST
fire3: Precision WorkStation 360:WST

Das Problem das jetzt in dem Script ist, das er nicht genau fire von z.B. fire2 unterscheiden kann, und somit eine falsche txt Datei anlegt in dem Script !

Weiß leider nicht an welcher Stelle der Fehler ist und wie ich ihn beheben kann, aber ich denke mal der Fehler liegt irgendwo an der Stelle:
Code:
SYSTEM=`grep ${MASCHINE} ${PFAD}/ALL_HWINFO | awk -F: '{ print $3 }'`

Wäre euch dankbar wenn ihr mir helfen könntet !

Achso, in dem $SYSTEM sollte in dem Fall hier WST drin stehen !

Oder liegt das irgendwie am Zeilenumbruch oder so ?
 
Zuletzt bearbeitet:
Denke schon das es das ist, das Problem ist, das Script verstehe ich noch nicht ganz, bin auch schon die ganze Zeit am Testen wo genau der Fehler liegt, aber ich werde es mal versuchen !
 
ja, hab ich, aber das ist irgendie nicht der Fehler, ich bekomme hier total komische ausgaben !

Bei der ALL_HWINFO Datei:
Code:
fire2: Precision WorkStation 360:TSW
fire4: Precision WorkStation 360:xyz
fire: Precision WorkStation 360:WST

bekomme ich sowas mal gemeldet:
Code:
sort: open failed: /cfg2html_server/docs/docs_aix/TSW: No such file or directory
cp: target `WST.txt' is not a directory
rm: cannot remove `/cfg2html_server/docs/docs_aix/TSW': No such file or directory
rm: cannot remove `xyz': No such file or directory
rm: cannot remove `WST.tmp': No such file or directory
grep: /cfg2html_server/docs/docs_aix/TSW: No such file or directory
grep: xyz: No such file or directory
grep: WST.txt: No such file or directory

mit oder ohne -w !
 
aber das hat dann aber nix mit der grep-option zu tun. da stimmt was anderes bei dir nicht mehr.

mach doch mal selber:
grep -v fire /pfad/zu/ALL_HWINFO | awk -F: '{ print $3 }'
dann sollest du nur eine zeile bekommen und von der nur das WST.
was soll aber rauskommen?
 
Es hat doch geklappt mit -w, hatte es nur an 2 Stellen nicht drin, weil ich dachte das hätte damit nix zu tun, also jetzt läuft es perfekt, soweit ich getestet habe !
 

Ähnliche Themen

Prblem mit zeilenweises auslesen von Datei und schreiben nach mysql

verzeichniss suche funktioniert nicht

Queue für copy Script

skript zum löschen doppelter dateien

Problem mit HSPA+ Modem Huawei E353 - Installation unmöglich?

Zurück
Oben