Ist es möglich, die Ergebisse zu FINDEN, um einen COPY-Befehl CP?
Ist es möglich, die Ergebisse der find
zu einem COPY-Befehl cp
?
Wie diese:
find . -iname "*.SomeExt" | cp Destination Directory
Suche, finde ich immer, dass diese Art von Formel wie aus diesem post:
find . -name "*.pdf" -type f -exec cp {} ./pdfsfolder \;
Dies wirft einige Fragen auf:
- Warum kann Sie benutzen Sie einfach
|
Rohr? ist das nicht, was Ihr für? - Warum alle empfehlen, die
-exec
- Wie kann ich wissen, Wann Sie zu verwenden (exec) über Rohr
|
?
InformationsquelleAutor der Frage Paul | 2014-10-07
Du musst angemeldet sein, um einen Kommentar abzugeben.
Gute Frage!
Können Sie Rohr -, natürlich
xargs
erfolgt für diese Fälle:Den
-exec
ist gut, denn es bietet mehr Kontrolle über genau das, was Sie sind ausführen. Wann immer Sie Rohr kann es Probleme mit Grenzfällen: Datei-Namen mit Leerzeichen oder neue Zeilen, etc.Es ist wirklich bis zu Ihnen und es kann viele Fälle. Ich würde
-exec
wenn die Aktion ist einfach. Ich bin nicht ein sehr guter Freund vonxargs
ich bevorzugen einen Ansatz, bei dem diefind
- Ausgang wird bereitgestellt, um einewhile
Schleife, wie:InformationsquelleAutor der Antwort fedorqui
Es ist eine wenig genutzte Möglichkeit für
cp
:-t destination
-- siehe die man-Seite:InformationsquelleAutor der Antwort glenn jackman
Können Sie
|
wie unten:Beantwortung Ihrer Fragen:
|
können verwendet werden, um dieses Problem zu lösen. Aber wie oben zu sehen, es beinhaltet eine Menge von code. Darüber hinaus|
erstellen zwei-Prozess - eine fürfind
und ein weiteres fürcp
.Statt mit
exec()
innenfind
lösen das problem in einem einzigen Prozess.InformationsquelleAutor der Antwort Fazlin
Versuchen Sie dies:
Falls Leerzeichen im Dateinamen.
InformationsquelleAutor der Antwort epetrov