• Apfeltalk ändert einen Teil seiner Allgemeinen Geschäftsbedingungen (AGB), das Löschen von Useraccounts betreffend.
    Näheres könnt Ihr hier nachlesen: AGB-Änderung
  • Was gibt es Schöneres als den Mai draußen in der Natur mit allen Sinnen zu genießen? Lasst uns teilhaben an Euren Erlebnissen und macht mit beim Thema des Monats Da blüht uns was! ---> Klick

Wie lege ich 1000 Ordner auf einmal an ??

Xeon

Tokyo Rose
Registriert
17.05.09
Beiträge
68
Hier nun die zweite Frage:

Wie lege ich 1000 Ordner auf einmal an ?

Ich schaue mir erstmal die Zeile aus der anderen Post an:

find -x "Ordner" -type d -depth 1 -execdir cp "Datei" {} \

Was kann das bedeuten ?

find-x "Ordner" vermute ich mal, das hier gesagt wird, das "Ordner" nun " x" ist ?
Oder ist "x" ein Unix-Befehl ?

"-type d" bedeutet vielleicht duplizieren ?? Ich weiß es nicht ?
"-depht 2" bedeutet vielleicht das die Erste Ebene im Ordner gemeint ist ? Weiß es auch nicht ?
"-exedir" sieht nach einem Ausführungs-Befehl aus ??
Und "cp" bedeutet vielleicht "Copy" die Datei.
Das mit den beiden Klammern verstehe ich nicht mehr und den Schrägstrich auch nicht.

Mit anderen Worten, besonders viel habe ich nicht gerade verstanden. Schäm ::))

Nun zu der Frage oben:

Wie lege ich 1000 Ordner an ?
Keine Ahnung ....
 

ken-wut

Echter Boikenapfel
Registriert
30.09.09
Beiträge
2.364
warum willst du 1000 Ordner Anlegen?
 

drlecter

Wöbers Rambur
Registriert
04.11.06
Beiträge
6.442
Hm übersetze das ganze doch einfach mal (oder tippe im terminal einfach mal "man find" ohne die " ein).
z.B. könnte type auch typ heißen usw.
1000 Ordner? Du könntes im Terminal (bash als Grundlage) einfach ein for ((i=1; ........ machen.
 

Rastafari

deaktivierter Benutzer
Registriert
10.03.05
Beiträge
18.150
Oder ist "x" ein Unix-Befehl ?
Der Schalter -x weist "find" an, während der in die diversen Unterordner immer tiefer absteigende Suche nicht auch andere gemountete Volumes zu durchstreifen, sondern nur im gleichen Volume zu bleiben auf dem sich auch der angegebene Zielordner befindet. Eine übliche Vorsichtsmassnahme vor einem sich versehentlich ewig zu Tode laufenden Kommando, die hier nicht unbedingt notwendig gewesen wäre.
(Ist eher so wie der Blick links und rechts beim überqueren der Strasse)

"-type d" bedeutet vielleicht duplizieren ??
Suchkriterium: "Art ist: Ordner" (--> Typ: Directory)

"-depht 2" bedeutet vielleicht das die Erste Ebene im Ordner gemeint ist ?
Suchtiefe 1 würde bedeuten: Suche nur am angegebenen Ort, gehe nicht in Unterordner
Suchtiefe 2: Suche am angegebenen Ort, gehe auch in Unterordner, max 1 Ebene tiefer
Suchtiefe 3: Suche am angegebenen Ort, gehe auch in Unterordner, max 2 Ebenen tiefer
Suchtiefe 4: Suche am angegebenen Ort, gehe auch in Unterordner, max 3 Ebenen tiefer
usw usf.
Wird "-depth" nicht angegeben: Suche bis zur maximal vorhandenen Tiefe, einfach alles.
(mehr als 100 Stufen sind sowieso unmöglich)

"-exedir" sieht nach einem Ausführungs-Befehl aus ??
"-exec" oder das ähnliche "-execdir" leiten einen Befehl oder eine Befehlsliste ein, die mit jedem erzielten Suchtreffer auszuführen ist.

Und "cp" bedeutet vielleicht "Copy" die Datei.
Korrekt

Das mit den beiden Klammern verstehe ich nicht mehr und den Schrägstrich auch nicht.
Die geschweiften Klammern sind ein Platzhalter für den Pfad zum Suchtreffer.
Der Backslash mit folgendem Semikolon schliesst die mit -execdir eröffnete Befehlssequenz ab (es könnten danach noch beliebig viele weitere folgen wenn nötig, sie müssen irgendwie erkennbar voneinander getrennt werden.)

Wie lege ich 1000 Ordner an ?
1000 sequentiell durchnumerierte Ordner, mit vierstelligem Zähler und führenden Nullen darin, beginnend mit 0001, erstellt zB folgendes Kommando:
Code:
for ((x=10001;x<11001;x++)); do mkdir -p "Ordner_${x:1}"; done;
 

toc-rox

Weigelts Zinszahler (Rotfranch)
Registriert
15.11.09
Beiträge
247
Die "richtige" Strategie / Architektur ist in Hinblick auf Effizienz von fundamentaler Bedeutung.

"200 Dateien kopieren" bzw. "1000 Ordner anlegen" - hier stellt sich m.E. die Frage nach der "richtigen" (optimalen) Strategie.

Vorschlag: Beschreibe deinen Anwendungsfall und Lösungsansatz doch einmal möglichst konkret.

Das Ziel der weiteren Diskussion wäre dann möglicherweise das Finden der "richtigen" Strategie.
 

Xeon

Tokyo Rose
Registriert
17.05.09
Beiträge
68
Hallo ken-wut,

die möchte ich deshalb anlegen, weil ich sie einfach brauche, um Dateien einzusortieren.
 

Xeon

Tokyo Rose
Registriert
17.05.09
Beiträge
68
Danke drlecter,

man find habe ich gerade eingetippt.
Dann erscheint das Command Manual:


admins-Mac-Pro-1:~ admin$ man find




















FIND(1) BSD General Commands Manual FIND(1)

NAME
find -- walk a file hierarchy

SYNOPSIS
find [-H | -L | -P] [-EXdsx] [-f path] path ... [expression]
find [-H | -L | -P] [-EXdsx] -f path [path ...] [expression]

DESCRIPTION
The find utility recursively descends the directory tree for each path
listed, evaluating an expression (composed of the ``primaries'' and
``operands'' listed below) in terms of each file in the tree.

The options are as follows:

-E Interpret regular expressions followed by -regex and -iregex pri-
maries as extended (modern) regular expressions rather than basic
regular expressions (BRE's). The re_format(7) manual page fully
describes both formats.

-H Cause the file information and file type (see stat(2)) returned
for each symbolic link specified on the command line to be those
of the file referenced by the link, not the link itself. If the
referenced file does not exist, the file information and type
will be for the link itself. File information of all symbolic
links not on the command line is that of the link itself.

-L Cause the file information and file type (see stat(2)) returned
for each symbolic link to be those of the file referenced by the
link, not the link itself. If the referenced file does not
exist, the file information and type will be for the link itself.

This option is equivalent to the deprecated -follow primary.

-P Cause the file information and file type (see stat(2)) returned
for each symbolic link to be those of the link itself. This is
the default.

-X Permit find to be safely used in conjunction with xargs(1). If a
file name contains any of the delimiting characters used by
xargs(1), a diagnostic message is displayed on standard error,
and the file is skipped. The delimiting characters include sin-
gle (`` ' '') and double (`` " '') quotes, backslash (``\''),
space, tab and newline characters.

However, you may wish to consider the -print0 primary in conjunc-
tion with ``xargs -0'' as an effective alternative.

-d Cause find to perform a depth-first traversal, i.e., directories
are visited in post-order and all entries in a directory will be
acted on before the directory itself. By default, find visits
directories in pre-order, i.e., before their contents. Note, the
default is not a breadth-first traversal.

This option is equivalent to the -depth primary of IEEE Std
1003.1-2001 (``POSIX.1''). The -d option can be useful when find
is used with cpio(1) to process files that are contained in
directories with unusual permissions. It ensures that you have
write permission while you are placing files in a directory, then
sets the directory's permissions as the last thing.

-f Specify a file hierarchy for find to traverse. File hierarchies
may also be specified as the operands immediately following the
options.

-s Cause find to traverse the file hierarchies in lexicographical
order, i.e., alphabetical order within each directory. Note:
`find -s' and `find | sort' may give different results.

-x Prevent find from descending into directories that have a device
number different than that of the file from which the descent
began.

This option is equivalent to the deprecated -xdev primary.

PRIMARIES
-Bmin n
True if the difference between the time of a file's inode cre-
ation and the time find was started, rounded up to the next full
:
 

Xeon

Tokyo Rose
Registriert
17.05.09
Beiträge
68
Hallo Rastafari ,

Danke für die einzelnen Erklärungen. Ich werde versuchen, das nach und nach zu verstehen.

Also "type" (english) heißt auf Deutsch "typ" und das "d" ist das Kürzlel für directory, also Inhalsverzeichnis. ok ?

das mit den Ebenen depht 123 habe ich verstanden.

"-exec" und "-execdir" werde ich mir merken, erinnert mich an Windows.

Zu der Anmerkung "geschweiften Klammern sind ein Platzhalter für den Pfad zum Suchtreffer" habe ich noch eine Frage: Warum muss es die Klammer denn überhaupt geben ?

Danke auch für den Code

for ((x=10001;x<11001;x++)); do mkdir -p "Ordner_${x:1}"; done;

Ich suche nun erstmal nach der Bedeutung der Befehle, welche ich erkennen kann.
Danach melde ich mich und schreibe, welchen Teil ich verstanden habe, und welchen nicht.

Danke erstmal, herzlichen Dank !
 
Zuletzt bearbeitet:

Guy.brush

Weißer Winterkalvill
Registriert
15.12.08
Beiträge
3.545
Beschreibe dein Problem doch mal genauer, welche Dateien willst du einsortieren? Vielleicht gibt es ja ein Programm oder Script, das das für dich machen kann...
Wenn du schon überrascht bist, dass bei "man find" eine Manpage kommt, sei lieber vorsichtig mit den anderen Befehlen... ;)
 

Xeon

Tokyo Rose
Registriert
17.05.09
Beiträge
68
Hallo toc-rox ,

um Deine Frage zu beantworten:

Der Anwendungsfall ist einfach der, das ich tatsächlich einfach nur die vielen Ordner benötige, um Dateien einzusortieren.
Das muss ich leider von Hand machen, es müsste so eine Art Multi-Copy geben, also nicht einfach eine Datei in viele verschiedene Ordner,
sondern vielmehr so:

Stell Dir zwei Fenster nebeneinander vor. (Finderfenster)
Im linken Fenster sind 1000 Dateien, jede hat einen anderen Namen, zum Beispiel test1 bis test 1000.
Im rechten Fenster sind nun 1000 Ordner, die heißen Ordner1 bis Ordner 1000.
Jetzt bräuchte ich so eine Art "Zauberstab", denn jeder der einzelnen Dateien soll in den entsprechenden Ordner.

So etwas muss ich bisher von Hand machen, weil null Ahnung vom Terminal.

Fast überflüssig zu erwähnen, das ich einen "Mausarm" habe, obwohl ich schon seit Jahren einen Trackball nehme, aber nach wenigen klicks habe ich schmerzen, sobald ich mit dem Daumen klicke.
Mit dem linken Arm ist noch alles ok.
 

Xeon

Tokyo Rose
Registriert
17.05.09
Beiträge
68
Hallo Guy.brush,

Danke für den Hinweis, vorsichtig zu sein. Das ging mir auch gerade durch den Kopf.
Hier an meinem Produktiv-System mache ich da besser keine Experimente.
Eigentlich möchte ich mir nur für den Fall einen eigenen Mac gönnen. (zum genaueren kennnlernen des Systems und des Terminals)
Ich bin mir aber noch nicht im klaren, welchen ich dazu nehmen könnte.
Am preiswertesten sind im Moment gebraucht Pro Macs (1.1), da hätte ich mehrere Festplatten,
wäre flexibel. Der neue Mac Mini Server sieht interessant aus, aber man kommt nicht an die Festplatten dran,
er ist genauso teuer wie ein gebrauchter ProMac.

Und dann bleibt noch das Mac Book Pro, das kann man die Platte tauschen, aber die Geräte sind sehr teuer.