我有一个包含文件名的列表文件,我想一次从列表中读取一个文件名,并在具有多个子文件夹的目录结构下查找它,然后一旦找到将其移动到 diff 文件夹中。
前任:
listfile.txt
Content of the file--
filename1.txt
filename2.txt
maindir
|--subdir1
|---subdir2/filename1.txt
|---subdir3/filename2.txt
从 listfile.txt 中一一读取文件名并将它们移动到差异文件夹中,例如 /destfolder。
任何建议都会很棒。
谢谢,凯文
使用 shell 循环并
find
为每个文件名调用一次:这会稍微低效,因为即使在找到文件之后它也会继续寻找匹配的文件名(如果找到另一个文件,它会覆盖已经移动的文件名)。
如果使用 GNU
find
,您可以-quit
在命令的最后添加以find
使find
进程在第一个文件被移动后停止。显示它有效:
(运行上述循环)
然后:
有关的: