我需要从包含 900 个文件的目录中复制 150 个文件。我有一个文本文件中所有 150 个文件的名称,list.txt
.我怎样才能在 Linux 中做到这一点?
答案1
你可以尝试这个rsync
rsync -av --files-from=list_of_filenames.txt SOURCE_DIR DESTINATION_DIR/
注意目标目录上的尾随空格。rsync
从当前工作目录开始工作,因此文件列表中的文件路径必须相对于该目录。
答案2
只需循环文件并复制:
while read file; do cp "$file" /path/to/target/dir; done < list.txt
答案3
答案4
我会这样做:
for f in `cat filenames.txt`; do cp $f destination; done
您将其替换destination
为文件的目标位置。我经常在echo
后面插入一个 来do
通过试运行来验证我的命令是否正确。