Linux:将txt文件中列出的文件从目录(带子目录)复制到指定文件夹
我有一个txt文件,里面只有文件名。例如“999000 999008 999021”等。它们对应于我拥有的扩展名为*.source的文件,即999000.source 999008.source 999021.source。这些文件存在于主目录下的不同子目录中。如何在Linux中使用命令将txt文件中列出的文件复制到另一个指定文件夹 谢谢,Linux:将txt文件中列出的文件从目录(带子目录)复制到指定文件夹,linux,batch-file,copy-paste,Linux,Batch File,Copy Paste,我有一个txt文件,里面只有文件名。例如“999000 999008 999021”等。它们对应于我拥有的扩展名为*.source的文件,即999000.source 999008.source 999021.source。这些文件存在于主目录下的不同子目录中。如何在Linux中使用命令将txt文件中列出的文件复制到另一个指定文件夹 谢谢, Jake如果文件名中没有空格: (for fn in $(cat filenames.txt); do find "$master_dir" -ty
Jake如果文件名中没有空格:
(for fn in $(cat filenames.txt); do
find "$master_dir" -type f -name "$fn.source"
done) |tar -cT - |(cd "$new_dir" && tar x)
您需要在目标目录中重新创建原始目录结构吗?您可以避免在Bash:
中为$中的fn生成额外的cat
进程(但是tar不会复制xattrs,因此只能使用cp-a$(对于$中的fn)$(