将多个文件夹清空到单个文件夹中?

将多个文件夹清空到单个文件夹中?

我试过用谷歌搜索这个,但我只得到与 Windows 相关的答案。

我有一系列文件夹,为了举例,我会说~/Downloads/abc ~/Downloads/def ~/Downloads/ghi等等。

我想做的是将每个文件夹的内容清空到一个中央文件夹中,无论是~/Downloads,,,~/Downloads/xyz都不是特别重要。然而,我似乎想不出任何方法来实际做到这一点。

打出来后,我不确定它是否有意义,所以我将提供一个直观的示例。

Downloads | Downloads
├abc      | ├abc
│└foo.txt > ├def
└def      | ├foo.txt
 └bar.txt | └bar.txt

哦,还有一件事,我使用 Thunar 作为文件浏览器。我想这至少可以直接从终端完成,但如果也有办法在 Thunar 中做到这一点,那也同样值得了解。谢谢!

答案1

zsh

autoload zmv
cd ~/Downdload
zmv '*/(*)(#qD)' '$2'

您也可以这样做mv -i -- */*(D) .,但使用的zmv优点是在发生冲突时会出错(例如当同时存在abc/file和时def/file它开始移动文件。

之后删除空目录:

rmdir -- *(D/^F)

相关内容