Ich habe zwei Unterverzeichnisse in /home/ziga/Mounted/
. Jede dieser mehrere nicht leere Unterverzeichnisse hat:So erstellen Sie ein Duplikat von Unterverzeichnissen mit Suche
/home/ziga/Mounted/dir1/subdir1-1
/home/ziga/Mounted/dir1/subdir1-2
...
/home/ziga/Mounted/dir2/subdir2-1
/home/ziga/Mounted/dir2/subdir2-2
...
Gibt es eine Möglichkeit find
zu verwenden leer Verzeichnisse in zu erstellen, sagen /home/ziga/CombinedMounts
, die genau dieselben Namen haben wie die würde, die auf zwei Ebenen tief in /home/ziga/Mounted/
? Dies ist das Endergebnis ich suche:
/home/ziga/CombinedMounts/subdir1-1
/home/ziga/CombinedMounts/subdir1-2
/home/ziga/CombinedMounts/subdir2-1
/home/ziga/CombinedMounts/subdir2-2
...
ich die Liste der Verzeichnisse erhalten kann diesen Befehl:
find /home/ziga/Mounted/ -maxdepth 2 -mindepth 2 -type d ! -name "lost+found" ! -name ".Trash*" -exec basename {} \;
Aber ich kann nicht für das Leben von mir herauszufinden, wie zu verwenden seine Ausgabe in mkdir -p
, damit ich die gewünschten Unterverzeichnisse bekommen würde.
Irgendwie landen sie immer in /home/ziga/CombinedMounts/home/ziga/Mounted/...
ich meinen Verstand zu verlieren, bitte helfen Sie. :)
HINWEIS: einige der Verzeichnisnamen enthalten Leerzeichen!
Können Sie die Ergebnisse als Elemente eines Arrays festlegen? Wie 'DIRS = (\' \ ')'. Verwenden Sie dann ein 'for dir in $ DIRS', um jedes Verzeichnis zu erstellen. –
Gavin
Würde das funktionieren, wenn Leerzeichen in den Verzeichnisnamen vorhanden wären? – zigamilek
Oh, vielleicht nicht. Ich bin kein Bash-Experte, spucke nur hier. – Gavin