我现在正试图在终端中查找文件。我找到了很多关于如何查找特定模式的文件的答案,例如以特定扩展名或特定时间范围结尾的文件等。
不过,我一直试图弄清楚如何查找和复制多个任意文件,例如特定文件的列表。
举例来说,我有以下文件夹和文件
/Documents/Folder_1/内容:
file1.txt file2.txt file3.txt file4.txt
Run Code Online (Sandbox Code Playgroud)
/Documents/Folder_2/内容:
file5.txt file6.txt file7.txt
Run Code Online (Sandbox Code Playgroud)
/Documents/Folder_3/内容:
file8.txt, file9.txt
Run Code Online (Sandbox Code Playgroud)
我想做的是创建一个名为Folder_4并复制的新文件夹file2.txt,file5.txt然后file9.txt复制到该新文件夹。
有没有办法通过终端来做到这一点?
我尝试做的是制作文件名的文本列表并将其命名为 list.txt 之类的名称,例如
file2.txt
file5.txt
file9.txt
Run Code Online (Sandbox Code Playgroud)
并将该文本文件加载到“查找”命令中,例如如下所示:
find /home/usr/Documents -name $cat list.txt
Run Code Online (Sandbox Code Playgroud)
我认为我会将输出提供给文本列表或复制命令,但这似乎不起作用。
我想知道是否有任何方法可以通过 Find 命令查找多个任意文件,或者我是否以错误的方式思考这个问题?
编辑:只是想感谢您的回答并总结我最终解决这个问题的方式。我特别感谢有人向我解释 find 命令的设计目的不是接受多个没有 -o 标志的输入,这让我觉得不那么愚蠢了,因为无法弄清楚!
我最终做的是制作一个小 shell 脚本并要求用户输入并使用数组和 for 循环来迭代列表。
基本上我最终得到的脚本或多或少是这样的:
file1.txt file2.txt file3.txt file4.txt
Run Code Online (Sandbox Code Playgroud)