首页 > 解决方案 > 将文件从多个文件夹移动到子文件夹

问题描述

我有许多包含文件的文件夹,在每个文件夹中我都有一个名为wvfm. 我想要做的是将所有文件移动到每个 wvfm 文件夹中。

我尝试做下面的行,但它不工作

for i in "./*"; mv $i "./wvfm"; done

但这并不完全正确

标签: macosshell

解决方案


使用for循环 ( for i in */; do) 列出文件,然后移动到文件夹以列出所有文件并将其保存到变量 ( F=$(ls)) 中。

然后移动所有文件,不包括您的文件夹 ( mv ${F/wvfm/} wvfm),如下所示:

#!/bin/bash
subdirectory="wvfm"
for i in */; do
cd $i
F=$(ls)
mv ${F/$subdirectory/} $subdirectory
cd ../
done

推荐阅读