如何遍历目录并像文件一样移动?

时间:2019-06-17 14:47:13

标签: bash shell

一年中的每一天,我都有一个目录,其中保存着每天的某些文件。我想从每天目录中提取一个文件... mobile_events _...并将所有文件合并到一个名为“ MobileEvents”的目录中。所有文件和目录都位于我的下载目录(当前工作目录)中,“ MobileEvents”目标位于桌面上。

我尝试了for循环和while循环,但是代码一直在运行。

for循环

for *_mobile_events_201* in 201_*; do mv ~/MobileEvents

我只是在程序中停滞不前,什么也没动。我用'>'

得到一个新的空白行

1 个答案:

答案 0 :(得分:0)

您的for循环语法无效。 bash中正确的for循环如下所示:

for file in *_mobile_events_201*; do mv "$file" ~/MobileEvents; done

一个更好的解决方案是直接使用glob作为mv的参数:

mv *_mobile_events_201* ~/MobileEvents

资源: