You are not logged in.

  • Login

1

Monday, September 14th 2009, 3:43pm

Kleine bash-Frage

Moin,

hab eigentlich ein ganz simples Problem:
Ich möchte alle oder eine Teilmenge von Dateien eines beliebigen Verzeichnisses in ein anderes Verzeichnis kopieren und zwar in einer bestimmten Reihenfolge (lexikografisch, quasilexikografisch o.ä.).

Dummerweise kenne ich mich mit Shell-Programmierung nicht wirklich aus.
Wie realisiere ich sowas am geschicktesten?
Also naiverweise würde ich mit
(1)

Source code

1
ls > blah.txt

erstmal alle Dateinamen eines Verzeichnisses (gehe davon aus, dass ich mich schon in der tiefsten Ebene befinde) in eine Datei zu schreiben.
Dann würde ich
(2) einen beliebigen Algorithmus auf die Datei anwenden, der entweder irgendwie sortiert oder irgendwelche Elemente nach irgendwelchen Regeln auswählt.
(3) ???
Jetzt würde ich versuchen, den Inhalt der Datei Zeile für Zeile als Dateinamen aufzufassen und mit einer Schleife dann alles nacheinander kopieren.

Wie realisiere ich (3)?

sylence

Administrator

Posts: 1,863

Location: Dresden

Occupation: GER

  • Send private message

2

Monday, September 14th 2009, 4:04pm

Source code

1
for i in `cat blah.txt`; do mv $i ziel; done

wäre eine Möglichkeit

Tocha

Master

Posts: 2,151

Location: Unterschiedlich

Occupation: GER

  • Send private message

3

Monday, September 14th 2009, 6:12pm

gott, sowas hatte ich früher auch in der Uni und ich weiss nichts mehr, gar nichts mehr.

irgendwie traurig x/

4

Monday, September 14th 2009, 8:21pm

Quoted

Original von sylence

Source code

1
for i in `cat blah.txt`; do mv $i ziel; done

wäre eine Möglichkeit

Danke, das habe ich gesucht (irgendwie sieht es auch bekannt aus, aber hab bestimmt vor 5 Jahren das letzte mal sowas gemacht ;)).