![如何将文件从目录 /foo (1) 移动到目录 /foo](https://linux22.com/image/1173279/%E5%A6%82%E4%BD%95%E5%B0%86%E6%96%87%E4%BB%B6%E4%BB%8E%E7%9B%AE%E5%BD%95%20%2Ffoo%20(1)%20%E7%A7%BB%E5%8A%A8%E5%88%B0%E7%9B%AE%E5%BD%95%20%2Ffoo.png)
我知道这很基础,但是我对 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