[PUG] seq-Funktion für Buchstaben
Hi Liste, kennt von euch jemand ne bash-Funktion mit der ich sowas hier: for i in `seq 1 99`; do echo $i; done; mit Buchstaben realisieren kann? Also z.B.: for i in `seq A M`; do echo $i; done; Ich brauche das z.B. wenn ich Ordner von A* bis M* umkopieren will. Bin halt zu faul das so hier zu schreiben: for i in A B C D E F G H I J K L M; do cp $i* /home/neuer_ordner; done; Das mit dem echo soll natürlich nur als Beispiel dienen ;-) Ich brauche das halt oft und ich hoffe einfach, dass es da schon was fertiges gibt. Die Lösung einfach ein File mit dem Inhalt A B C D ... zu schreiben und dann ein for i in `cat file`; do echo $i; done; zu machen hatte ich auch schon, aber ich habe keine Lust auf jedem Server, auf dem ich rumfummele das drauf zu packen... Grüße, Peter -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Am Dienstag, 16. Oktober 2007 10:39 schrieb Peter Barthel: Hi Liste, kennt von euch jemand ne bash-Funktion mit der ich sowas hier: for i in `seq 1 99`; do echo $i; done; mit Buchstaben realisieren kann? Also z.B.: for i in `seq A M`; do echo $i; done; kann die bash vielleicht was analoges zum cast unter c(++): for(int i=65; i91; i++) cout char(i); gruß rené -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Hi, mit Ruby wäre das so möglich. Kannst dann halt system aufrufe machen. Eventuel nen skript schreiben dass dann wie seq a z arbeitet und in den path legen. ruby -e 'a'.upto('z') { |x| print x } Gruß Ben. Viel oder wenig? Schnell oder langsam? Unbegrenzt surfen + telefonieren ohne Zeit- und Volumenbegrenzung? DAS TOP ANGEBOT FÜR ALLE NEUEINSTEIGER Jetzt bei Arcor: günstig und schnell mit DSL - das All-Inclusive-Paket für clevere Doppel-Sparer, nur 34,95 inkl. DSL- und ISDN-Grundgebühr! http://www.arcor.de/rd/emf-dsl-2 -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Peter Barthel schrieb: kennt von euch jemand ne bash-Funktion mit der ich sowas hier: for i in `seq 1 99`; do echo $i; done; mit Buchstaben realisieren kann? Also z.B.: for i in `seq A M`; do echo $i; done; Ich brauche das z.B. wenn ich Ordner von A* bis M* umkopieren will. Bin halt zu faul das so hier zu schreiben: for i in A B C D E F G H I J K L M; do cp $i* /home/neuer_ordner; done; Hilft Dir dafür cp [A-M]* /home/neuer_ordner nicht? Gruß mks -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Markus Schönhaber schrieb: Peter Barthel schrieb: kennt von euch jemand ne bash-Funktion mit der ich sowas hier: for i in `seq 1 99`; do echo $i; done; mit Buchstaben realisieren kann? Also z.B.: for i in `seq A M`; do echo $i; done; Ich brauche das z.B. wenn ich Ordner von A* bis M* umkopieren will. Bin halt zu faul das so hier zu schreiben: for i in A B C D E F G H I J K L M; do cp $i* /home/neuer_ordner; done; Hilft Dir dafür cp [A-M]* /home/neuer_ordner nicht? Gruß mks Danke. Sowas hatte ich gesucht :-D Ist zwar zum Scripten unschön wenn man alles von A-M beackern will, aber da ich das eher seltener brauche kann ich das dann auch ma von Hand tippen :-) Tu mir leider hin- und wieder etwas schwer mit bash und regexpr... Gruß, Peter -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Peter Barthel schrieb: Markus Schönhaber schrieb: cp [A-M]* /home/neuer_ordner Danke. Sowas hatte ich gesucht :-D Ist zwar zum Scripten unschön wenn man alles von A-M beackern will, aber da ich das eher seltener brauche kann ich das dann auch ma von Hand tippen :-) Hm, kommt darauf an, was Du unter Scripten verstehst. In einem bash-script kannst Du das durchaus so wie oben oder auch in anderer Form wie bspw. for x in [A-M]*; do ... verwenden. Tu mir leider hin- und wieder etwas schwer mit bash und regexpr... Obiges ist keine regular expression sondern ein shell-pattern. Gruß mks -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Markus Schönhaber wrote: Peter Barthel schrieb: Markus Schönhaber schrieb: cp [A-M]* /home/neuer_ordner Danke. Sowas hatte ich gesucht :-D Ist zwar zum Scripten unschön wenn man alles von A-M beackern will, aber da ich das eher seltener brauche kann ich das dann auch ma von Hand tippen :-) Hm, kommt darauf an, was Du unter Scripten verstehst. In einem bash-script kannst Du das durchaus so wie oben oder auch in anderer Form wie bspw. for x in [A-M]*; do ... verwenden. Bingo! Das wollte ich hören :-) Tu mir leider hin- und wieder etwas schwer mit bash und regexpr... Obiges ist keine regular expression sondern ein shell-pattern. Gruß mks Das meinte ich damit, dass ich das immer ma wieder verwechsele/schwer tue... :-) Gruß, Peter -- PUG - Penguin User Group Wiesbaden - http://www.pug.org
Re: [PUG] seq-Funktion für Buchstaben
Benjamin Peter schrieb: ruby -e 'a'.upto('z') { |x| print x } Ha!!! Wenn schon, dann bitte den ganzen Weg gehen: for i in `perl -e 'print$_\nforeach(A..M)'`; do ...; done So viel schrecklicher als 'seq', das ja auch ein externes Programm ist, ist das nun wirklich nicht. ;-) -martin -- Martin Schmitt / Schmitt Systemberatung / www.scsy.de -- http://www.pug.org/index.php/Benutzer:Martin -- signature.asc Description: OpenPGP digital signature -- PUG - Penguin User Group Wiesbaden - http://www.pug.org