GNU/Linux >> Linux Esercitazione >  >> Linux

Come posso copiare in modo ricorsivo tutti i file pdf in una directory (e le sue sottodirectory) in un'unica directory di output?

  find /bunchopdfs -name "*.pdf" -exec mv {} /papers \;    

Ecco un test che ho fatto

$ ls -R
.:
a  aaa bbb.pdf  pdfs

./a:
foo.pdf

./pdfs:

Notare il file "aaa bbb.pdf".

$ find . -name "*pdf" -exec mv {} pdfs \;
$ ls -R
.:
a  pdfs

./a:

./pdfs:
aaa bbb.pdf  foo.pdf

Se usi bash in una versione recente, puoi trarre profitto dal globstar opzione:

shopt -s globstar
mv **/*.pdf papers/

find -print0 /directory/with/pdfs -iname "*.pdf" | xargs -0 mv -t /papers

(simile a un'altra risposta ma preferisco pipe/xargs/mv ... più intuitivo per me)

Cordiali saluti, ho eseguito correttamente lo script di una riga sopra su più directory e più file pdf.


Linux
  1. Come trovare il numero di file in una directory e sottodirectory

  2. Come trovare un file in Linux in tutte le directory in modo ricorsivo

  3. Come elencare in modo ricorsivo tutti i file e le directory

  4. Come posso rimuovere completamente PHPStorm e tutti i file associati su Ubuntu 13.04?

  5. Come posso eliminare in modo ricorsivo tutti i file e le directory vuoti in Linux?

Come contare il numero di file e sottodirectory all'interno di una determinata directory

Come copiare file e directory in Linux

Come eseguire il grep di una stringa in una directory e in tutte le sue sottodirectory?

Come posso copiare in modo ricorsivo i file per estensione di file, preservando la struttura delle directory?

Come posso convertire automaticamente tutti i file di codice sorgente in una cartella (in modo ricorsivo) in un singolo PDF con evidenziazione della sintassi?

Come rinominare tutti i file con caratteri speciali e spazi in una directory?