![如何将具有特定名称的文件从一个文件夹移动到另一个文件夹](https://linux22.com/image/889095/%E5%A6%82%E4%BD%95%E5%B0%86%E5%85%B7%E6%9C%89%E7%89%B9%E5%AE%9A%E5%90%8D%E7%A7%B0%E7%9A%84%E6%96%87%E4%BB%B6%E4%BB%8E%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9%E7%A7%BB%E5%8A%A8%E5%88%B0%E5%8F%A6%E4%B8%80%E4%B8%AA%E6%96%87%E4%BB%B6%E5%A4%B9.png)
我读过这个将多个特定文件从一个文件夹复制到另一个文件夹这对我没什么帮助。
我有数千个文件/Users/Marine/Desktop/folderGN
,其中一些我想保留,而有些我想移动。
有几个具有不同名称的文件,我只想移动那些名称包含Protein
或MSMS
或 的文件PSms
。
我想将它们从
/Users/Marine/Desktop/folderGN
到
/Users/Marine/Descktop/myfolder
答案1
要查找不同的名称,可以使用for
如下循环
for f in /Users/Marine/Descktop/folderGN/{*[Pp]rotein*,*MSMS*,*PSms*}; do echo mv -v -- "$f" /Users/Marine/Descktop/myfolder ; done
删除echo
经过测试后才实际移动的文件。
我已经完全复制了您的路径(包括可能的拼写错误Descktop
?),但您也可以使用相对路径来执行此操作:
cd /Users/Marine/Descktop/folderGN
for f in *[Pp]rotein* *MSMS* *PSms* ; do echo mv -v -- "$f" ../myfolder ; done
echo
(测试完毕后删除)
答案2
这其实很简单。如果您希望将名称中包含特定字母/数字且位于名称的任何位置的文件移动到某个目录,只需:
move *some_name* directory
答案3
这很简单:
mv /Users/Marine/Descktop/folderGN/*protein* /Users/Marine/Descktop/myfolder/
mv /Users/Marine/Descktop/folderGN/*PSms* /Users/Marine/Descktop/myfolder/
mv /Users/Marine/Descktop/folderGN/*MSMS* /Users/Marine/Descktop/myfolder/
此命令区分大小写。请注意,Descktop 很可能应该是 Desktop,而 Users/Marine 更像是 Mac 设置,而不是 Ubuntu 设置。
答案4
在终端窗口中使用常用mv
命令:mv /Users/Marine/Descktop/folderGN/*MSMS* /Users/Marine/Descktop/myfolder
对其他名称(例如 PSms 等)分别重复上述操作。