PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Wie bekomme ich dieses Sonderzeichen weg?



Sausalito
24-03-2005, 01:10
Hallo,

brauche mal wieder etwas Hilfe:
Ich möchte überprüfen, ob der Inhalt einer Variablen in einem Array vorkommt.
Allerdings habe ich das Problem, dass am Anfang des Variableninhalts immer ein Sonderzeichen vorkommt und somit der Inhalt nie gleich einem Wert aus dem Array sein kann.

Das Arrary sieht so aus:

farben=(rot gelb blau weiss)

Der Inhalt der Variablen "benutzer" aber z.B. so:

schwarz
oder in HEX:

15 73 63 68 77 61 72 7A

Ich muß nun aber bei der Überprüfung entweder das erste Zeichen der Variablen übergehen, oder (besser) abschneiden, weil diese Abfrage nie eine Übereinstimmung ergibt:


#!/bin/sh
farben=(rot gelb blau weiss)
for farbe in ${farben[@]} ; do
if [ "$farbe" = "$benutzer" ]; then
echo FARBE GEFUNDEN;
else
echo nicht gefunden;
fi
done


Der Wert der Variablen "benutzer" wird übrigens aus einer von einer anderen Anwendung erstellten Datei eingelesen.

Wie stelle ich das am besten an, dass die Abfrage funktioniert?
Danke schon mal im voraus......
Chris

sirmoloch
24-03-2005, 02:11
Mit benutzer=$(echo $benutzer | cut -b2-) könntest du das erste Byte abschneiden.

Hans-Georg Normann
24-03-2005, 10:48
wir wär's mit einem simplen
benutzer=$(echo $benutzer|strings)? Haut alle nicht druckbaren Zeichen weg.

Hans

Sausalito
24-03-2005, 14:28
super !! funktioniert !! :D

danke :D :D