* Ralph Müller schrieb am 16.Sep.2001:
ich möchte gerne das letzte Zeichen (hex. "A1") einer Datei
Was soll das sein? Das ist kein ASCII-Zeichen.
löschen. Da ich viele derartige Dateien habe suche ich nach einem entsprechenden Befehl; ob auf Basis Bash, Perl, usw. ist egal.
Wenn ich in Perl ein chomp(@lines) mache wird leider das letzte Zeichen _jeder_ Zeile gelöscht.
Bei dem Befehl "tr" (Bash) blicke ich noch nicht so ganz durch.
tr ist ein eigenständiges Programm und hat erst mal nichts mit der bash zu tun. Kann man natürlich mit der bash aufrufen, aber auch mit jeder anderen shell und auch mit perl oder aus einem C-Programm heraus.
Dort müßte man das Zeichen offenbar als "Oktalwert" angeben. Ein Schritt nach vorne wäre wenn mir jemand sagen könnte wie ich einen Hexwert ("A1") in den entsprechenden Oktalwert übersetzen kann.
Das ist aber reine Mathematik. A entspricht 10 und daraus folgt: A1 (hex) = 10 * 16 + 1 = 161 (dez) 161 = 2 * 64 + 4 * 8 + 1 = 241 (oct) Hättest Du auch mit bc herausbekommen. echo "ibase=16; obase=8; A1" | bc 241 Bernd -- Homepages von deutschsprachigen Linux-Gurus: Kristian Köhntopp: http://www.koehntopp.de/kris/artikel/ Sven Guckes: http://www.math.fu-berlin.de/~guckes/sven Robin S Socha: http://socha.net/index2.html |Zufallssignatur 10