Den*_*son 39
为了避免无用的使用cat(如果你不使用rsync):
xargs -a file_list.txt mv -t /path/to/dest
Run Code Online (Sandbox Code Playgroud)
这将处理任何有效的文件名,除非它包含换行符,如果文件每行列出一个。
Ign*_*ams 38
rsync的具有可采取文件的列表,以过程(几个选项--files-from,--include-from等等)。
例如,这可以解决问题:
rsync -a /source/directory --files-from=/full/path/to/listfile /destination/directory
Run Code Online (Sandbox Code Playgroud)
Mad*_*ter 17
for file in `cat listoffiles`; do mv "$file" /path/of/destination ; done
Run Code Online (Sandbox Code Playgroud)
假设 bash,加上listoffiles每行包含一个文件。我对 rsync 路由的唯一反对是 OP 要求一种移动文件的方法,而不是复制它们。rsync 比皇室婚礼有更多的标志,所以我相信它可以进一步修改来做到这一点,但有时更简单更好!
小智 5
rsync --files-from=file_list.txt /path/to/source/ /path/to/dest/
Run Code Online (Sandbox Code Playgroud)
Rsync 比cpormv命令有额外的好处,因为如果文件夹不存在,它会自动创建文件夹。