Sonderzeichen in HEX in einem Script

Vom einfachen Programm zum fertigen Debian-Paket, Fragen rund um Programmiersprachen, Scripting und Lizenzierung.
Antworten
gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Sonderzeichen in HEX in einem Script

Beitrag von gora » 03.05.2007 10:41:45

Ich habe ein Script in dem ich mittels grep nach Strings suche. Diesem wird als Parameter der String bzw. das Zeichen übergeben. Wie kann ich dabei nun Sonderzeichen verwenden.
Ich habe schon so viele Kombinationen (HEX, Octal und Unicode) probiert, aber nie wurden sie als das entsprechende Zeichen interpretiert.

Beispiele: \x93, \0x93, \u0093, \223, \\223, \\u0093, \\x93, usw.

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 03.05.2007 13:15:36

dachte eigentlich das würde gehen, mir ist es aber auch nur auf diese Weise gelungen:

Code: Alles auswählen

root@gms2:~# for ((i=91; $i<100; i++)); do echo -e "\x$i"; done >x.txt
root@gms2:~# grep `echo -e "\x93"` x.txt
▒
Gruß
gms

gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Beitrag von gora » 03.05.2007 13:53:10

Hmm, danke für die Antwort, aber bei mir bewirkt -e nichts (obwohl es in der manpage beschrieben wird), es wird sogar durch echo mitausgegeben...

gms
Beiträge: 7798
Registriert: 26.11.2004 20:08:38
Lizenz eigener Beiträge: MIT Lizenz

Beitrag von gms » 03.05.2007 16:56:39

welche Shell verwendest du, oder auf welchem System arbeitest du ? Wenn du unter Linux arbeitest, aber nicht die Bash verwendest, könnte es helfen das echo mit dem vollständigen Pfad aufzurufen, damit nicht eine "built-in" Version der Shell verwendet wird:

Code: Alles auswählen

gms@gms4:~$ csh
% echo -e "\x91"
-e \x91
% /bin/echo -e "\x91"
▒
%
Gruß
gms
Zuletzt geändert von gms am 13.05.2007 00:02:06, insgesamt 1-mal geändert.

gora
Beiträge: 58
Registriert: 30.04.2004 21:27:43

Beitrag von gora » 03.05.2007 19:31:15

Aja, die csh war das Problem, in der bash funktionierts mit der e-Option. Danke

Antworten