
Ich habe einen Ordner mit etwa 20 Unterordnern, jeder mit 10-15 Unterordnern. Gibt es eine Möglichkeit, mithilfe der CLI nur PDF-Dateien in einen neuen Ordner zu verschieben?
Antwort1
Um nur PDFs aus allen Unterverzeichnissen zu kopieren, geben Sie ein:
rsync -rv --include '*/' --include '*.pdf' --exclude '*' /path/to/parent/source/directory/ /path/to/Destination/directory
Antwort2
cp
Sie können mit aktivierter Bash verwenden globstar
(siehediese U&L-Frage zu rekursiven Globs):
shopt -s globstar
cp some/folder/**/*.pdf target/folder
Oder, find
:
find some/folder -iname '*.pdf' -exec cp -t target/folder {} +
Antwort3
find
mit -exec
Flag ist dafür geeignet. Es ist standardmäßig rekursiv und geht in Unterordner
Wenn ich alle PNG-Dateien aus dem Ordner „Downloads“ in den Ordner „Downloads/PNG“ verschieben wollte, würde ich Folgendes tun:
find $HOME/Downloads -type f -iname "*.png" -exec mv -t $HOME/Downloads/PNG {} +
In Ihrem Fall,
find /path/to/top/folder -type f -iname "*.pdf" -exec mv -t /some/other/place {} +