使用带有多个通配符的 mv 命令

使用带有多个通配符的 mv 命令

我对 Linux 还比较陌生,所以对新手宽容点,嗯?

我设置了脚本,根据名称将媒体文件移动到特定目录。我使用了通配符来实现这一点,但我需要使其更具体,以便它只移动我想要的内容。

例子:mv /home/user/Downloads/*Horror* /home/user/Downloads/transmission/completed/Series/AHS/

我需要知道是否可以在单个移动命令中包含多个通配符。在前面的示例中,我希望脚本将所有《美国恐怖故事》剧集移动到 AHS 目录。该脚本可以正常工作,但如果我下载其他带有“恐怖”一词的内容,该文件也会被移动。

我所问的问题是否可行,或者是否有我应该使用的完全不同的方法?

答案1

尝试使用通配符,如*American*Horror*。您还可以在源路径中使用其他通配符,如/usr/home/D*/*American*Horror*。根据您的下载目录中的内容,像这样的简单模式*A*H*可能会匹配所需的文件。

您可能能够使用模式匹配,例如*[aA]merican*[hH]orror*

我通常会通过在命令前添加 来回显命令echo,或者ls在运行实际命令之前使用与模式匹配的列表文件。这为在采取行动之前调整模式提供了机会。

相关内容