我正在尝试组织大量文件。所有文件都是zip存档。我有一个带有一堆子目录的主目录。所有文件都位于子目录中。文件结构如下
games/gs1/games.zip
games/gs2/games.zip
games/gs3/games.zip
我想要做的是运行一个shell脚本,它将转到每个子目录,创建一个名为USA的文件夹,在文件名中找到该子目录中包含(USA)的所有文件,并将它们移动到新文件夹。我应该有像
这样的文件结构games/gs1/USA/gs1-1(USA).zip
games/gs1/USA/gs1-2(USA).zip
games/gs2/USA/gs2-1(USA).zip
games/gs2/USA/gs2-2(USA).zip
我试过
for d in ./*/
do
cd $d
mkdir -p USA
find . -name '*(USA)*' -exec echo mv -t ./USA {} +
done
但它只显示所有文件被移动到游戏/美国。
答案 0 :(得分:0)
你也可以在没有find
的情况下单独使用globs:
#! /bin/bash
for dname in ./*/; do
mkdir "$dname/USA"
mv "$dname"/*USA*.zip "$dname/USA"
done
答案 1 :(得分:0)
bash + 查找解决方案:
#img5{
left: 4px;
bottom: 74px;
}