Autor |
Nachricht |
|
Titel: Automatische Ordner-Erstellung nach Namen von Dateien ?
Verfasst am: 16.07.2008, 02:13 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hallo,
ich habe das Problem, daß ich sehr viele Textdateien habe für die ich jeweils einen eigenen Ordner mit dem selben Namen wie die Datei erstellen möchte.
Anschließend möchte ich, daß jede Textdatei in ihren gleichnamigen Ordner automatisch kopiert wird.
Weiß da jemand eventuell, wie eine Befehlsabfolge für diesen Zweck ungefähr lauten könnte?
Also mit mkdir kann man ja Verzeichnisse erstellen. Da ich auch eine Liste in Text, bzw Tabellenform der Dateinamen habe, müßte ich nur noch die Verknüpfung von meiner Dateiliste und dem Befehl mkdir irgendwie hinbekommen.... Aber wie.. ?
Gruß Christopher |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 17.07.2008, 07:59 Uhr
|
|
Anmeldung: 26. Nov 2005
Beiträge: 24
|
|
stalin2000 hat folgendes geschrieben::
Da ich auch eine Liste in Text, bzw Tabellenform der Dateinamen habe...
Code:
#!/bin/bash
for i in "`cat dateiliste.txt`"
do
mkdir `basename "$i" .txt`
cp -a "$i" `basename "$i" .txt`
done
daran könntest Du Dich evt. anlehnen.
Script ist aber ungetestet und enthält keine Sicherheitsabfragen.
Übernehme keine Gewähr für Deine Daten
Ich nehme mal an, dass im Ordnername nicht die Datei-Endung
(hier im Beispiel .txt) enthalten sein braucht. Sonst wirst Du ver-
mutlich die Ordner erst in einem anderen Verzeichnis anlegen müssen,
da sonst der Dateinamen doppelt vorhanden wäre ...
Des Weiteren müsstest `basename "$i" .txt` durch "/Pfad/$i" oder
so ähnlich ersetzten.
Alternativ zur Dateiliste kannst ja auch eine List-Abfrage in der
for-Schleife machen.
Code:
for i in "`ls`"
Ggf. musst noch schaun, dass vorhandene Ornder nicht angezeigt werden
Vielleicht hilfts Dir ja irgendwie weiter .... |
|
|
|
|
 |
|
Titel:
Verfasst am: 17.07.2008, 10:38 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Danke!
ich habe jetzt aus folgendem eine .sh Datei gemacht:
Zitat:
#!/bin/bash
for i in "`cat liste.txt`"
do
mkdir `basename "$i" .txt`
cp -a "$i" `basename "$i" .txt`
done
Das Problem ist, daß das Script jetzt für jedes Wort einen Ordner macht. Jede Zeile der liste.txt enthält mehrere Worte.
Kann ich das so modifizieren, daß er automatisch aus jeder Zeile einen Ordner macht?
Gruß Christopher |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 17.07.2008, 11:26 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16792
|
|
while read x; do
....
done <<EOT
$(cat liste.txt)
EOT |
|
|
|
|
 |
|
Titel:
Verfasst am: 17.07.2008, 13:29 Uhr
|
|
Anmeldung: 18. Jan 2004
Beiträge: 645
|
|
--- |
Zuletzt bearbeitet von jgese am 20.07.2008, 12:11 Uhr, insgesamt 2 Male bearbeitet
|
|
|
|
 |
|
Titel:
Verfasst am: 17.07.2008, 23:21 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Ja, danke.
Fast funktioniert das Script schon.
Zitat:
mkdir: kann Verzeichnis „U2 - Pride.txt“ nicht anlegen: Die Datei existiert bereits
Müßte man noch das txt beim Verzeichnis wegbekommen, oder jedem Ordner noch ein Zeichen hinzufügen und dann müßte's passen... |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 18.07.2008, 12:28 Uhr
|
|
Anmeldung: 18. Jan 2004
Beiträge: 645
|
|
--- |
Zuletzt bearbeitet von jgese am 20.07.2008, 12:12 Uhr, insgesamt ein Mal bearbeitet
|
|
|
|
 |
|
Titel:
Verfasst am: 18.07.2008, 12:54 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Hm, aber wie soll denn das Verzeichnis xy.txt angelegt werden, wenn im selben Verzeichnis schon die Datei xy.txt liegt? Das ist doch gar nicht möglich. |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 19.07.2008, 08:28 Uhr
|
|
Anmeldung: 12. Mar 2005
Beiträge: 368
|
|
Es wäre ganz hilfreich, wenn du mal 2-3 Zeilen deiner
'Liste in Text, bzw Tabellenform der Dateinamen'
posten würdest
und das, was dabei als Ergebnis herauskommen soll. |
_________________ Gruss an alle Kanotix-Fans, blauweiss
|
|
|
|
 |
|
Titel:
Verfasst am: 19.07.2008, 11:34 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Okay,
Die Liste sieht so aus:
Zitat:
Tocotronic - unter der Schnellstraße
Die Sterne - Big in Berlin
R.E.M. - Man on The Moon
Archive - Fuck U
Und dann möchte ich alle Ordner haben wie:
Zitat:
Die Sterne - Big in Berlin
und so weiter... |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|
Titel:
Verfasst am: 19.07.2008, 12:16 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16792
|
|
Wars zu schwer mein beispiel komplett auszufüllen? Anscheinend kannst die eine fehlende Zeile nicht reinschreiben:
while read x; do
mkdir -p "$x"
done <<EOT
$(cat liste.txt)
EOT |
|
|
|
|
 |
|
Titel: Re: Automatische Ordner-Erstellung nach Namen von Dateien ?
Verfasst am: 19.07.2008, 12:58 Uhr
|
|
Anmeldung: 18. Jan 2004
Beiträge: 645
|
|
--- |
Zuletzt bearbeitet von jgese am 20.07.2008, 12:12 Uhr, insgesamt ein Mal bearbeitet
|
|
|
|
 |
|
Titel:
Verfasst am: 19.07.2008, 14:22 Uhr
|
|
Anmeldung: 12. Mar 2005
Beiträge: 368
|
|
Kano hat folgendes geschrieben::
Wars zu schwer mein beispiel komplett auszufüllen?...
Vielleicht weil es so nicht geht?
Wie stalin2000 schon geschrieben hat, er kann in einem Ordner
in dem z.B. die Datei '123.txt' existiert nicht ein Verzeichnis '123.txt' erstellen,
oder kennst du da etwa einen Kniff?
Er kann eigentlich nur den Umweg über Verschieben oder Umbenennen wählen.
Verschieben vll. so (Anführungsstriche sind wichtig, da offensichtl. Leerzeichen vorhanden sind),
bediene mich mal an deinem Beispiel:
while read x; do
mv -f "$x" /tmp
mkdir "$x"
mv -f "/tmp/$x" "$x"
done <<EOT
$(cat liste.txt)
EOT |
_________________ Gruss an alle Kanotix-Fans, blauweiss
|
|
|
|
 |
|
Titel:
Verfasst am: 19.07.2008, 14:45 Uhr
|
|
Anmeldung: 17. Dez 2003
Beiträge: 16792
|
|
Vermutlich sollte das Verzeichnis ja eh nicht .txt am ende heissen, also müsstest $(basename "$x" .txt) nehmen. Weiterhin ist bei seiner Beispielliste ja nix mit txt zu sehn! |
|
|
|
|
 |
|
Titel:
Verfasst am: 20.07.2008, 11:55 Uhr
|
|
Anmeldung: 04. Jan 2007
Beiträge: 1604
Wohnort: Hamburg
|
|
Super dank Euch noch mal!
Das Script von Kano für die Erstellung von Ordnern ohne Dateilistendatei,
sowie das Script aus dem letzten Post von blauweiss, für mit Dateiliste
funktionieren. |
_________________ Es ist dem Untertanen untersagt, den Maßstab seiner beschränkten Einsicht an die Handlungen der Obrigkeit anzulegen - Kurfürst Friedrich Wilhelm von Brandenburg
www.projektidee.org | www.gesundheitstabelle.de | www.neoliberalyse.de
|
|
|
|
 |
|