簡體   English   中英

搜索多個文件並將它們復制到同一目錄中

[英]Search for multiple files and copy them into the same directory

我在 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

謝謝!

為此,您可以使用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

結果應該是這樣的:

    ls a
ASDF.txt DFGH.tx

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM