如何将文件从目录 /foo (1) 移动到目录 /foo

如何将文件从目录 /foo (1) 移动到目录 /foo

我知道这很基础,但是我对 bash 还很陌生。

由于一些重复,我在许多文件夹中都有很多照片,我想清理它们。这是我的文件结构的示例

- 12-30-14
  - img1.jpg
  - img2.jpg
- 12-30-14 (1)
  - img3.jpg
- 12-30-15
  - img1.jpg
  - img2.jpg
- 12-30-15 (1)
  - img3.jpg

我想运行一个脚本,结果

- 12-30-14
  - img1.jpg
  - img2.jpg
  - img3.jpg
- 12-30-14 (1)
- 12-30-15
  - img1.jpg
  - img2.jpg
  - img3.jpg
- 12-30-15 (1)

从那里我打算运行find . type d -empty -delete,以便最终结果是:

- 12-30-14
  - img1.jpg
  - img2.jpg
  - img3.jpg
- 12-30-15
  - img1.jpg
  - img2.jpg
  - img3.jpg

(1)我只是不确定将文件从目录移动到干净目录的正确方法。

有什么想法吗?

答案1

像这样使用这个脚本:

#!/bin/bash

for dir in *'(1)'*; do
    mv "$dir"/* "${dir% (1)}"
    rmdir "$dir"
done

将其放入文件中script.sh,然后在终端中:

chmod +x script.sh
./script.sh

相关内容