【发布时间】:2021-10-16 14:28:08
【问题描述】:
我正在尝试编写 shell 脚本来运行它..
我猜它需要语法或查找语法.. 但我一直在处理扫描每个文件夹..
我尝试过使用 "find" -maxdepth 1 -name "*.jpg | mv " 但失败了...
- 对于每个目录中的每个 jpg 文件(文件夹 1、文件夹 2、文件夹 3...文件夹 5...等)
- 将文件移动到作为父目录的目标目录。
- 如果文件名重复,请移至 dup 目录。
【问题讨论】:
标签: shell
我正在尝试编写 shell 脚本来运行它..
我猜它需要语法或查找语法.. 但我一直在处理扫描每个文件夹..
我尝试过使用 "find" -maxdepth 1 -name "*.jpg | mv " 但失败了...
【问题讨论】:
标签: 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
【讨论】:
||,但基本上是的。或者使用 bash,扩展 glob。