Hallo, Am Fri, 28 Jan 2005, maX Bauer schrieb:
David Haller wrote:
Am Thu, 27 Jan 2005, Wolfgang Erlenkötter schrieb:
Am Donnerstag, 27. Januar 2005 19:49 schrieb maX Bauer:
ich suche ein (bzw. DAS) Programm (ich weiss, dass es da eines gibt) ähnl. "tail", mit dem ich einen gegebenen Dateinamen auf die ersten zwei Zeichen kürze, und diese dann in eine Variable übernehme. [..] Warum in die Ferne schweifen? Schau in die Manpage zur Bash. Stichwort substitution:
HIER=HALLO echo ${HIER:0:3} HAL
Was will man mehr?
*ARGH*
$ zgrep ':.:' `man -w bash` A sample value is ``.:~:/usr''.
Kein Wunder, dass ich auf diese Version nicht gekommen bin. [..] Ihr habt sie ja nicht mehr alle !! Zum Ersten, zum Zweiten und zum Dritten, wer bietet mehr ? Schön aber, dass ich so viele Auswahlmöglichkeiten habe. Ich werd' sie alle mal ausprobieren.
*g* Schau dir dann meine Mails an, ich hab alle Varianten ja schoen in vergleichbarer Form aufgefuehrt, auch die, die mir nicht einfielen ;) Am mit Abstand am schnellsten ist natuerlich die shell-interne Variante ${var:n:m}, die aber wohl nur POSIX-shell (aber nicht bourne-shell) kompatibel ist. D.h. es laeuft nur in einer hinreichend neuen bash, ksh etc. aber z.B. nicht in einer ash, sh... Gefolgt wohl von der 'expr' Variante (evtl. auch spezifisch; ob alle exprs das mit 'substr' koennen?). Dann die cut, head, dd, awk und sed Varianten, die sich wenig unterscheiden duerften und die sollten auch alle portabel sein. Die perl-Varianten sind dann mit Abstand die langsamsten, aber dafuer auch portabel. Und vielleicht will man ja eh noch perl verwenden, ohne Zusammenhang bzw. im shell-script sind diese natuerlich nur rein aus akademischen Interesse aufgefuehrt ;)
Dass ich zwar so etwas nicht ergööglen konnte ist echt arm (tja, so bin ich), aber jetzt habe ich echt alle Wege offen.
Nach sowas laesst sich generell schwer suchen. Da kannst du machen was du willst. Da hilft eher Erfahrung. Mit der shell und den unix-tools. Hm. Irgendwann hatte ich IIRC hier mal ne Zusammenfassung gemailt, wofuer sed, awk, perl usw. "passen"... Generell hilfreich ist es, wenn man sich die Frage mal auf englisch stellt (da hilft u.U. sogar babelfish). Siehe !Zufalls-Sig ("concat" == verkuerzte Version von "concatenate")... Bei der Silbe "cat" ging dem Freund dann ein Licht auf ;) So wie in deinem Fall evtl. das Verb "cut" oder das Substantiv "head" zur Erleuchtung haette fuehren koennen. Welches Tool dann richtig[tm] ist muss man ausprobieren oder nachfragen ;) Bzw. man kann nachschauen, ob sich das in der shell (s.o.) oder z.B. mit "Allzwecktools" wie expr oder awk und perl erledigen laesst ;) Das nur so als kleine Hilfestellung, wie du evtl. selber auf sowas kommen kannst. Ansonsten sind solche Fragen absolut normal, jeder, auch und gerade ich (s.o. bzw. die expr-Variante) steht mal auf dem Schlauch. :) -dnh -- Excerpt from a conversation with a friend, early in my unix odyssey: "So now I've got all these floppy-sized archive pieces, and I haven't been able to figure out what program I'm supposed to use to concat-- er, never mind." [void]