Linux

Rsync/複製某些文件副檔名剝離文件夾

  • September 25, 2019

我有一堆帶有子目錄的文件夾,請參見下文

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 命令來做到這一點?

SRC DEST 語法與rsyncSRC DEST 語法非常相似cp,因此您可以使用類似

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

將所有 *.txt 和 *.doc 文件複製到目標目錄。

選項:

  • -a存檔模式(的快捷方式-rlptgoD
  • -u跳過接收器上較新的文件(如cp -u
  • -v增加詳細程度

由於存檔選項-a還包括遞歸-r選項,因此您可以根據需要使用附加選項禁用此標誌--no-r-a也將複製目錄Book/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參數以獲得更詳細的輸出,例如-vvor -vvv

引用自:https://unix.stackexchange.com/questions/543561