搜索多个文件并将它们复制到同一目录中

问题描述 投票:0回答:1

我正在Mac上工作,并且具有一个Excel电子表格,其中包含约400个文件名的列表。它们都在我的硬盘上的某个位置,但是可以在大型存档目录中的任何位置。理想情况下,我希望避免分别搜索每个对象,然后复制它们并将它们粘贴到新目录中,以便进行一些下游分析。

[我当时想在终端中必须有某种巧妙的方法来将文件名列表的文件路径grep,然后将这些文件cp移到我选择的新目录中。我真的不知道从哪里开始。任何帮助将不胜感激!

这是我的电子表格中的文件名示例:

E12_JH_260919_E12_2019-09-26_1.fsa
F01_JH_260919_F01_2019-09-26_1.fsa
F02_JH_260919_F02_2019-09-26_1.fsa
F03_JH_260919_F03_2019-09-26_1.fsa
D10_JH_181019.3_D10_2019-10-18_1.fsa
D11_JH_181019.3_D11_2019-10-18_1.fsa
D12_JH_181019.3_D12_2019-10-18_1.fsa
E01_JH_181019.3_E01_2019-10-18_1.fsa
E02_JH_181019.3_E02_2019-10-18_1.fsa
E03_JH_181019.3_E03_2019-10-18_1.fsa

谢谢!

macos search terminal grep copy
1个回答
0
投票

您可以为此目的使用find工具。假设您有一个类似以下的目录:

~/archive$ tree
├── ASDF.txt
├── destination_folder
├── DFGH.txt
└── spreadsheet.txt

1 directory, 3 files

还有这样的spreadsheet

~/archive$ cat spreadsheet.txt 
ASDF.txt
DFGH.txt

您可以逐行读取文件,找到当前目录中的每个文件,然后将其复制到另一个目录:

while read name; do
find . $name -maxdepth 0 -type f -exec cp {} ./destination_folder \;
done < spreadsheet.txt
© www.soinside.com 2019 - 2024. All rights reserved.