linux shell 脚本:如何移动具有给定名称的所有子文件夹?

linux shell 脚本:如何移动具有给定名称的所有子文件夹?

我想使用 Linux Bash 脚本将所有以给定后缀(示例中为 Blah_)开头的子文件夹移动到其他目录中。脚本如下所示:

srcDir="/home/me/"
archiveDir="/Archive/"
prefix="Blah_"
mv -v -f "$srcDir$prefix*" -t $archiveDir

尽管 /home/me 里面有很多以“Blah_”开头的目录,但这会导致以下错误消息:

mv: cannot stat `/home/me/Blah_*': No such file or directory

现在我很好奇这里出了什么问题。必须如何更改上述脚本才能将所有以“Blah”开头的子文件夹移动到存档文件夹中?

答案1

mv -v -f ${srcDir}${prefix}* -t $archiveDir

在这种情况下,如果你引用,*将被逐字解释

答案2

怎么样:

find   /home/me   -type   d   -name   "Blah_*"   -exec   mv   -i  {}  /Archive \;

相关内容