GNU/Linux >> Tutoriels Linux >  >> Linux

Comment puis-je copier de manière récursive tous les fichiers pdf d'un répertoire (et de ses sous-répertoires) dans un seul répertoire de sortie?

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

Voici un test que j'ai fait

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

./a:
foo.pdf

./pdfs:

Remarquez le fichier "aaa bbb.pdf".

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

./a:

./pdfs:
aaa bbb.pdf  foo.pdf

Si vous utilisez bash dans une version récente, vous pouvez profiter du globstar choix :

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

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

(semblable à une autre réponse mais je préfère pipe/xargs/mv ... plus intuitif pour moi)

Pour info, j'ai réussi le script d'une ligne ci-dessus sur plusieurs répertoires et plusieurs fichiers pdf.


Linux
  1. Comment trouver le nombre de fichiers dans un répertoire et des sous-répertoires

  2. Comment rechercher tous les fichiers avec une taille de fichier de zéro (0) octet dans un répertoire de manière récursive

  3. Comment lister récursivement tous les fichiers et répertoires

  4. Comment puis-je copier la sortie d'une commande directement dans mon presse-papiers ?

  5. Comment puis-je rechercher de manière récursive tous les fichiers dans les dossiers actuels et les sous-dossiers en fonction de la correspondance générique ?

Comment copier des fichiers et des répertoires sous Linux

Script Shell :trier les fichiers dans des répertoires et des sous-répertoires ?

Comment puis-je copier récursivement des fichiers par extension de fichier, en préservant la structure des répertoires ?

Comment puis-je convertir automatiquement tous les fichiers de code source d'un dossier (récursivement) en un seul PDF avec coloration syntaxique ?

Comment copier des fichiers et des sous-répertoires cachés (commençant par un point) sous Linux ?

Comment renommer tous les fichiers avec des caractères spéciaux et des espaces dans un répertoire ?