Rsync/复制某些文件扩展名剥离文件夹

Rsync/复制某些文件扩展名剥离文件夹

我有一堆带有子目录的文件夹,请参见下文

Books

-- Temp1.nfo

-- Temp2.txt

-- Temp3.doc


Books 2

-- Temp4.nfo

-- Temp5.txt

-- Temp6.doc

我想复制 txt 和 doc 文件扩展名并将它们放在一个目录中。一个例子

Final

--Temp2.txt

--Temp3.doc

 --Temp5.txt

--Temp6.doc

我可以使用 cp 命令完成此操作。问题是我无法查看状态或进行试运行。

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

有谁能够帮助我想出一个 rsync 命令来执行此操作吗?

答案1

SRC rsyncDEST 语法与 SRC DEST 语法非常相似cp,因此您可以使用类似的内容

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

将所有 *.txt 和 *.doc 文件复制到目标目录。

选项:

  • -a存档模式( 的快捷方式-rlptgoD
  • -u跳过接收器上较新的文件(例如cp -u
  • -v增加冗长

由于存档选项-a还包括递归选项, 因此如果需要,-r您可以使用附加选项禁用此标志(还会复制目录,因为它会匹配模式并 禁用递归)。--no-r-aBook/my.doc/*.doc-a --no-r

的输出--dry-run将如下所示:

$ 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)

您可以添加多个-v参数以获得更详细的输出,例如-vv-vvv

相关内容