如何在不合并的情况下制作一个文件夹的多个副本?

如何在不合并的情况下制作一个文件夹的多个副本?

当要将两个或多个名称相同的文件夹复制到或移动到同一位置时,GUI 文件管理器中或在终端中使用的默认选项cp -r --backup=numberedrsync --backup是合并这些文件夹的内容。

是否有任何本机命令可以制作实际目录的渐进编号副本,例如folder_copy_1、folder_copy_2 等,类似于Windows 中发生的情况?

答案1

假设“本机”是指“通常与基本系统一起安装”,那么不,没有专门的工具,但创建您自己的脚本很容易。

#!/bin/sh
for f in "$@"; do
    b=$(basename "$f")
    # Grab any numeric suffix
    n=${b##*[!0-9]}
    # Default to 0 if there is no suffix
    case n in *[!0-9]* | '' ) n=0;; esac
    e=$(expr $n + 1)
    cp "$f" "${b%$n}$e"
done

这应该可以在任何最近的 POSIX shell 中工作。

相关内容