Verwenden des Befehls find mit rekursiver Kopie ohne -r oder eine while / for-Schleife


0

Ich habe folgendes Problem. Normalerweise würde man den Befehl find exec cp -r verwenden, um alles von einem Verzeichnis in ein anderes zu kopieren. In diesem Fall darf ich dies nicht tun oder eine while / for-Schleife für den find-Befehl verwenden.

Ich muss nur alles von einem Verzeichnis in ein anderes kopieren, mit der vollständigen Verzeichnisstruktur.


Warum brauchst du finddafür?
Roman Newaza

Weil mein Lehrer es mir gesagt hat, haha. Aber googeln bringt keine Ergebnisse.

Sie könnenrsync -r
Roman Newaza

Ich weiß, aber wir dürfen nicht etwas anderes verwenden als finden ...

Mit können Sie ls -RIhre Verzeichnisse rekursiv auflisten und das Ergebnis in eine Schleife leiten.
Roman Newaza

Antworten:


1

Sie können mit so etwas beginnen:

src=/home/user
dst=/to/dir
find -exec printf " echo {} | \
        sed 's|^$src|$dst|;s|/[^/]*$||' | \
        xargs -n1 -I@ mkdir -p @\n" \; | \
   sh

Dadurch wird die Verzeichnisstruktur unter dem Zielverzeichnis erstellt. Sie können printf viele Befehle hinzufügen.


1
Ich wünschte, die Leute machten meine Hausaufgaben für mich, als ich in der Schule war
Woot4Moo

Dies ist jedoch
alles andere als
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.