linux - 在 Linux 中将文件列表从一个位置复制到另一个位置

标签 linux bash

我正在尝试将一个驱动器上的部分文件列表复制到另一个驱动器上的某个位置。要复制的文件列表位于一个文本文件中,我试图将其提供给 bash 脚本以及一些 cp 和 xargs 命令,但无济于事。下面是 bash 尝试。

#!/bin/bash

while read line
do
    find . -iname "$line" -exec cp '{}' /my/destination/drive \;
done < file_list.txt 

文本文件读取为没有扩展名的文件名,如下所示

my-file001
my-file002
my-file003

我还尝试了 xargs 和 pax 并进行了以下尝试,但都无济于事。

cat file_list.txt | xargs cp -t /my/destination/drive

find . -type f -exec pax -rws'|.*/||' < file_list.txt /my/destination/drive/ '{}' \;

question接近但不完全是。有什么建议吗?

最佳答案

这只会为您解决问题:

 cat file_list.txt | xargs -I {} cp {} /destination/dir/path

关于linux - 在 Linux 中将文件列表从一个位置复制到另一个位置,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26396415/

相关文章:

linux - 不可读的 zsh shell 和退格在 Docker 上的 zsh shell 上不起作用

linux - 在 Linux 中根据修改日期复制文件

bash - 将 Bash 变量传递给 CURL

linux - 重复数据删除 - Postfix 服务器?

python - 我如何从 PyGTK 运行 linux 命令?

linux - tar: 目录: 无法 rmdir: 目录不为空

c++ - 延迟文件数据几分钟

bash - 如果进程生成了 xclip 的后台分支,则输出重定向将挂起

python - 将文件行读入 xargs 以实现并行 python 脚本

c - 在哪里可以找到例如 netlink 的源代码?