Warum werden die Dateien im Folgenden nicht in den Zielordner kopiert?
# find /home/shantanu/processed/ -name '*2011*.xml' -exec cp /home/shantanu/tosend {} \;
cp: omitting directory `/home/shantanu/tosend'
cp: omitting directory `/home/shantanu/tosend'
cp: omitting directory `/home/shantanu/tosend'
\;
?find -iname '*.mp3' -mtime -1 -exec cp {} /home/my_path/ \;
Stimmt etwas mit diesem Befehl nicht? es funktioniert nichtIch stand vor einem Problem wie diesem ...
Tatsächlich können Sie die
find
Befehlsausgabe auf zwei Arten imcopy
Befehl verarbeitenWenn
find
die Ausgabe des Befehls kein Leerzeichen enthält, dh wenn der Dateiname kein Leerzeichen enthält, können Sie den folgenden Befehl verwenden:Syntax:
find <Path> <Conditions> | xargs cp -t <copy file path>
Beispiel:
find -mtime -1 -type f | xargs cp -t inner/
In den meisten Fällen enthalten unsere Produktionsdatendateien jedoch Speicherplatz. Die meiste Zeit unter dem genannten Befehl ist also sicherer:
Syntax:
find <path> <condition> -exec cp '{}' <copy path> \;
Beispiel
find -mtime -1 -type f -exec cp '{}' inner/ \;
Im zweiten Beispiel wird der letzte Teil, dh das Semikolon, ebenfalls als Teil des
find
Befehls betrachtet, der vor dem Drücken der Eingabetaste maskiert werden sollte. Andernfalls wird eine Fehlermeldung angezeigtIn Ihrem Fall ist die Syntax des Kopierbefehls falsch, um die Suchdatei zu kopieren
/home/shantanu/tosend
. Der folgende Befehl funktioniert:quelle
find
/xargs
,find <Path> <Conditions> -print0 | xargs -0 -r cp -t <copy file path>
. Beispiel:find -mtime -1 -type f -print0 | xargs -r0 cp -t inner/
Sie müssen verwenden,
cp -t /home/shantanu/tosend
um zu erkennen, dass das Argument das Zielverzeichnis und keine Quelle ist. Sie können es dann in ändern-exec ... +
, umcp
so viele Dateien wie möglich gleichzeitig zu kopieren.quelle
find /home/shantanu/processed/ -name '*2011*.xml' -exec cp --target-directory=/home/shantanu/tosend {} \;
quelle
Der Grund für diesen Fehler ist, dass Sie versuchen, einen Ordner zu kopieren, für den die Option -r erforderlich ist, um auch cp zu verwenden. Danke
quelle