linux - 更改 bash 文件备份的后缀

标签 linux bash suffix

我一直在尝试使用 --suffix 函数更改备份文件的后缀,但我不太确定该怎么做。目前这行代码

find ./$1 -name "IMG_****.JPG" -exec cp --backup=t {} ./$2 \;

在第一个命令行参数目录中搜索 IMG_****.JPG 格式的图像并将它们复制到第二个输入的目录中,复制任何具有重复名称的文件并添加 =t 后缀给 IMG_****.JPG.~1~ 等而不是 .~1~ 我想添加类似 .JPG 的内容,关于如何使用 --suffix 执行此操作的任何想法?

最佳答案

阅读man page :

The backup suffix is '~', unless set with --suffix or SIMPLE_BACKUP_SUFFIX.

从这句话中可以明显看出,提供 --suffix 等同于设置 SIMPLE_BACKUP_SUFFIX,顾名思义,它仅适用于简单备份(即 --backup=simple--backup=never)。例如,

> touch src dst
> cp --backup=simple --suffix=.bak src dst
> ls src* dst*
dst  dst.bak  src

但是,您通过 --backup=t 请求编号备份,因此您将获得的后缀将始终为 .~1~.~ 2~等,不受--suffix影响。

关于linux - 更改 bash 文件备份的后缀,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33903954/

相关文章:

bash - 使用 Bash 进行函数式编程

Bash - 获取文件名的前 3 个字母

bash - 为什么 nocasematch 关闭时 case 语句不区分大小写?

linux - ssh通行证安全吗?

linux - 从 Linux 应用程序中终止进程

windows和linux的java语法文件区别

asp.net - .net 核心应用程序套接字在负载下​​泄漏

arrays - 为什么/如何使用最长的正确前缀/后缀算法?

重命名列名称的后缀部分,但保持其余部分相同

string - 在线性时间内找到最长的双后缀