首页 > 解决方案 > 将每个文件从每个文件夹移动到特定文件夹

问题描述

我正在尝试编写 shell 脚本来运行它..

我想它需要语法或查找语法..但我一直在处理扫描每个文件夹..

我曾尝试使用 "find" -maxdepth 1 -name "*.jpg | mv " 但失败了......

DIR 树看起来像这样

标签: shell

解决方案


就像是

for f in folder*/*.jpg; do
    if [ -e "$(basename "$f")" ]; then
        mv "$f" dup/
    else
        mv "$f" .
    fi
done

从父目录运行。只需遍历文件夹子目录中的每个 jpg,移动到一个或另一个位置,具体取决于具有该名称的文件是否已经存在。


更高效的bash版本:

for f in folder*/*.jpg; do
    if [[ -e ${f##*/} ]]; then
        mv "$f" dup/
    else
        mv "$f" .
    fi
done

推荐阅读