复制时如何重命名文件?

山X

在重命名每个文件以从名称(即-2b0fd460_1426b77b1ee_-7b8e)中删除随机字符串部分的同时,如何将备份目录中的所有文件复制(不更改日期的归档样式)到用户目录?

cp来自:

/backup/path/data/Erp.2014.02.16_16.57.03-2b0fd460_1426b77b1ee_-7b8e.etf

到:

/home/user/data/Erp.2014.02.16_16.57.03.etf

每个文件将始终以“ Erp”开头。然后是日期时间戳字符串,然后是随机字符串,然后是扩展名“ .etf”。我想保留所有名称元素,包括日期时间戳。我只想删除随机字符串。

随机字符串允许同一文件的多个备份。但是,在这种情况下,我只运行了fdupes,并且没有重复项。因此,我可以简单地恢复所有文件,删除随机字符串。

我正在寻找单行bash命令来执行此操作。

如果那行不通,我可以分两个或两个以上的步骤来完成。我通常使用KRename,但在这种情况下,我需要使用bash进行操作。(我正在远程工作。)

格莱美

pax可以一次完成所有操作。您可以这样做:

cd /backup/path/data && pax -wrs'/-.*$/.etf/' Erp*etf /home/user/data

pax默认情况下,保留时间,但是可以添加-pe以保留所有内容(最好以root身份完成)或-pp保留权限,例如:

cd /backup/path/data && pax -wrs'/-.*$/.etf/' -pe Erp*etf /home/user/data

否则(pax默认情况下通常不可用),一定要比a更好地进行复制rename

cp -a /backup/path/data/Erp*.etf /home/user/data
rename 's/-.*$/.etf/' /home/user/data/Erp*.etf

这样,每个文件不会启动不同的进程。

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

Ansible:复制文件时如何重命名文件

来自分类Dev

如何批量复制和重命名文件?

来自分类Dev

当源文件名包含嵌入空格时,如何快速复制文件并重命名

来自分类Dev

上传时如何重命名文件

来自分类Dev

Gulp:复制时从源目录重命名某些文件

来自分类Dev

复制文件并重命名

来自分类Dev

复制并重命名文件

来自分类Dev

复制和重命名文件

来自分类Dev

复制和重命名文件

来自分类Dev

禁止“重命名”复制文件

来自分类Dev

DELPHI如何复制.txt文件并重命名

来自分类Dev

如何使用 CopyWebpackPlugin 复制和重命名文件

来自分类Dev

如何使用shell复制和重命名多个文件

来自分类Dev

上载时重命名文件

来自分类Dev

上载时重命名文件

来自分类Dev

批量复制重命名,重复时提示

来自分类Dev

批量复制和重命名文件

来自分类Dev

Gulp-复制并重命名文件

来自分类Dev

在复制项目中重命名文件

来自分类Dev

复制文件并重命名-Gradle

来自分类Dev

复杂的文件复制和重命名

来自分类Dev

重命名、复制和删除文件

来自分类Dev

写入文件时如何重命名igraph节点ID

来自分类Dev

如何在导出到CSV文件时重命名属性?

来自分类Dev

在foreach循环中输出时如何重命名文件

来自分类Dev

组装Spring Boot项目时如何重命名文件?

来自分类Dev

上传时如何在c#中重命名文件?

来自分类Dev

如何在查看 PDF 文件时重命名它?

来自分类Dev

仅当我要重命名或复制文件时,Python突然找不到文件