gpt4 book ai didi

linux - 将子文件夹合并在一起,Linux

转载 作者:塔克拉玛干 更新时间:2023-11-02 23:31:01 24 4
gpt4 key购买 nike

我有一个主文件夹“Abc”,它有大约 800 个子文件夹。这些子文件夹中的每一个都包含许多文件(所有格式相同,比如“.doc”)。如何创建一个包含所有这些文件的主文件夹(而不是分发到子文件夹中)。我在 Windows 7 机器上使用 cygwin 终端执行此操作。

cp -r 命令复制它但将文件留在子文件夹中,因此它并没有多大帮助。我很感激这方面的帮助。谢谢!

最佳答案

假设可能存在名称冲突和多个扩展名,这将创建唯一名称,将目录路径更改为破折号(例如 a/b/c.doc 将变为 a-b-c.doc)。从您要折叠的文件夹中运行:

# if globstar is not enabled, you'll need it.
shopt -s globstar
for file in */**; do [ -f "$file" ] && mv -i "$file" "${file//\//-}"; done
# get rid of the now-empty subdirectories.
find . -type d -empty -delete

如果您可以保证唯一的名称,这将移动文件并删除子目录。您可以将两个 . 更改为文件夹的名称并从该文件夹外运行它:

find . -depth \( -type f -exec mv -i {} . \; \) -o \( -type d -empty -delete \)

关于linux - 将子文件夹合并在一起,Linux,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9314434/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com