Rsync / Copier certaines extensions de fichiers en supprimant des dossiers

0

J'ai un tas de dossiers avec des sous-répertoires s'il vous plaît voir ci-dessous

Books

-- Temp1.nfo

-- Temp2.txt

-- Temp3.doc


Books 2

-- Temp4.nfo

-- Temp5.txt

-- Temp6.doc

Je veux copier les extensions de fichier txt et doc et les placer dans un répertoire. Un exemple

Final

--Temp2.txt

--Temp3.doc

 --Temp5.txt

--Temp6.doc

J'ai pu faire cela avec une commande cp. Le problème est que je suis incapable de voir l'état ou de faire un essai.

 cp -u **/{*.mkv,*mp4,*avi} /home/joedoe/Books/

Est-ce que quelqu'un peut m'aider à proposer une commande rsync qui effectue cela?

Ver de fer
la source
Que diriez-vous des .nfofichiers ... voulez-vous supprimer de "Livres" ou devriez-vous passer à "Livres2"
msp9011

Réponses:

0

La rsyncsyntaxe SRC DEST est très similaire à la cpsyntaxe SRC DEST, vous pouvez donc utiliser quelque chose comme:

rsync -auv */*.{txt,doc} /home/joedoe/Books/

copier tous les fichiers * .txt et * .doc dans le répertoire cible.

Les options:

  • -amode archive (raccourci pour -rlptgoD)
  • -uignorer les fichiers plus récents sur le récepteur (comme cp -u)
  • -v augmenter la verbosité

Étant donné que l'option d'archivage -ainclut également l' -roption récursive , vous pouvez désactiver cet indicateur avec un indicateur supplémentaire --no-r si vous le souhaitez (vous pouvez -aégalement copier un répertoire Book/my.doc/car il correspondrait au *.docmodèle et -a --no-r désactiverait la récursion).

La sortie avec --dry-runressemblerait à ceci:

$ rsync --dry-run -auv */*.{txt,doc} /home/joedoe/Books/
sending incremental file list
created directory /home/joedoe/Books
Temp2.txt
Temp3.doc
Temp5.txt
Temp6.doc

sent 221 bytes  received 69 bytes  580.00 bytes/sec
total size is 11  speedup is 0.04 (DRY RUN)

Vous pouvez ajouter plusieurs -varguments pour obtenir une sortie plus détaillée, telle que -vvou -vvv.

Freddy
la source
Cela a fonctionné merci!
Ironworm le