Linux

來自文件文本列表的 Linux(mv 或 cp)特定文件?

  • March 15, 2019

我有一個包含許多文件的目錄,例如伺服器上的 50,000 個 pdf 和其他文件。我需要將特定的移動到另一個目錄。我可以生成需要以 csv 或任何其他文本格式移動的文件列表。

我需要做的是執行一個 bash 腳本並將文本文件中列出的文件移動或複製到另一個目錄。

有沒有一種簡單的方法可以做到這一點?任何建議或資源將不勝感激。

rsync 有幾個選項可以獲取要處理的文件列表(--files-from、、--include-from等)。

例如,這可以解決問題:

rsync -a /source/directory --files-from=/full/path/to/listfile /destination/directory

為了避免無用的使用cat(如果你不使用rsync):

xargs -a file_list.txt mv -t /path/to/dest

這將處理任何有效的文件名,除非它包含換行符,如果文件每行列出一個。

引用自:https://serverfault.com/questions/212439