问题:

我想复制一个组文件,但不想逐个输入名称$ ls gmail-meta3*

gmail-meta3 gmail-meta3-REC-1558392194-26467821

gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821

如何像旧的DOS命令copy gmail-meta3* *.bak之类的东西?

我不想键入:cp gmail-meta3-LAB-1558392194-26467821 gmail-meta3-LAB-1558392194-26467821.bak

答案1:

可以在bash中使用for循环。for f in gmail-meta3* ; do

mv"$f""$f.bak"

done

你也可以使用。rename 's@$@.bak@' gmail-meta3*

$匹配字符串的结尾,因此该命令将.bak放在文件名的末尾。

答案2:

最接近于DOS范例的是mcp (从mmv软件包):mcp 'gmail-meta3*' 'gmail-meta3#1.bak'

如果zsh可用,它提供的zmv模块可能更接近:autoload -U zmv

zmv -C '(gmail-meta3*)' '$1.bak'printf '%s' gmail-meta3* | while IFS= read -r -d '' f; do cp -a --"$f""$f.bak"; done

或者printf '%s' gmail-meta3* | xargs -0 -I{} cp -a -- {} {}.bak

答案3

更好的答案可以用C语言写,cps () {

# cps"Copy Splat", copy group of files to backup, ie"cps Filename .bak"

# copies Filename1 to Filename1.bak, Filename2 to Filename2.bak, etc.

ls"$1"* | while read varname; do cp -a"$varname""$varname$2"; done

}

以问题为例说明问题的工作原理:$ ls gmail-meta3*

gmail-meta3 gmail-meta3-REC-1558392194-26467821

gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821

$ cps gmail-meta3 .bak

$ ls gmail-meta3*

gmail-meta3 gmail-meta3-REC-1558392194-26467821

gmail-meta3.bak gmail-meta3-REC-1558392194-26467821.bak

gmail-meta3-LAB-1558392194-26467821 gmail-meta3-YAD-1558392194-26467821

gmail-meta3-LAB-1558392194-26467821.bak gmail-meta3-YAD-1558392194-26467821.bak

注意:这使用-a标志和cp命令保存文件的时间戳,并为你提供更好的备份,例如:rick@alien:~/gmail$ cps Backup .bak

───────────────────────────────────────────────────────────────────────────────────────────

rick@alien:~/gmail$ ll Backup*

-rw-rw-r-- 1 rick rick 87302 Jun 25 05:25 BackupDays

-rw-rw-r-- 1 rick rick 87302 Jun 25 05:25 BackupDays.bak

-rw-rw-r-- 1 rick rick 153 Jun 25 05:44 BackupSets

-rw-rw-r-- 1 rick rick 153 Jun 25 05:44 BackupSets.bak

───────────────────────────────────────────────────────────────────────────────────────────

rick@alien:~/gmail$

注意文件副本的日期和时间与原件完全相同。

相关文章

linux cp改文件名,更改Linux `cp`命令以复制文件组相关推荐

  1. linux命令 复制文件夹命令行,(转)每天一个linux命令(8):cp 命令,复制文件和文件夹...

    场景:自动部署脚本中为了部署方便,将配置文件放在服务器端,每次部署都使用服务端的配置文件覆盖上传上去的配置文件. cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一. 一般情况下,she ...

  2. Linux常用命令(本篇包括,Linux目录结构介绍、Linux Shell介绍、9个常见命令介绍、文件的概念、文件的操作(20个)、目录的操作、文件和目录的权限、文件压缩及解压缩)

    Linux常用命令(本篇包括,Linux目录结构介绍.Linux Shell介绍.9个常见命令介绍.文件的概念.文件的操作(20个).目录的操作.文件和目录的权限.文件压缩及解压缩)         ...

  3. linux清除文件后df还是满的,Linux系统下用du和df命令清除大文件的方法

    很多用户表示,Linux系统中发现/home目录下剩余空间不足的时候,可以使用du和df命令来对找到大文件,并且对它们进行删除,从而腾出足够的空间.但是,如何用du和df命令清除大文件呢?下面,U大侠 ...

  4. cmd xcopy 拷贝文件夹_在纯dos下用xcopy命令怎么复制文件夹

    在纯 dos 下用 xcopy 命令怎么复制文件夹 XCOPY --目录复制命令 1 .功能:复制指定的目录和目录下的所有文件连同目录结构. 2 .类型:外部命令 3 .格式: XCOPY [ 源盘: ...

  5. linux 复制文件 中文,linux中cp命令如何复制文件

    在linux中,可以使用cp命令复制文件,将源文件或目录复制到指定的目的文件或目录:它可以将单个源文件复制成一个指定文件名的具体文件或一个已经存在的目录下:该命令支持同时复制多个文件. 本教程操作环境 ...

  6. Linux cp命令:复制文件和目录

    cp 命令,主要用来复制文件和目录,同时借助某些选项,还可以实现复制整个目录,以及比对两文件的新旧而予以升级等功能. cp 命令的基本格式如下: [root@localhost ~]# cp [选项] ...

  7. 一天一个Linux基础命令之复制文件或目录命令cp

    cp复制文件或目录 1.命令格式 cp[OPTION]... SOURCE... DIRECTORY 2.命令说明 cp命令用来复制文件或者目录,是Linux系统中最常用的命令之一.一般情况下,she ...

  8. Linux命令之复制文件或目录cp

    概述 cp 命令主要可用于复制文件或目录.cp 是单词 copy 的缩写. 语法 cp 命令的语法如下:cp [选项] source dest.即复制 source 文件到 dest. 该命令支持的选 ...

  9. Linux使用命令行复制文件的6个案例

    原文:https://www.toutiao.com/i6967521776762946051/ 1. Linux cp简介 Linux上最常用的命令之一,用于复制文件.支持文件复制.复制后重命名.建 ...

最新文章

  1. Python错误:AttributeError: 'generator' object has no attribute 'next'解决办法
  2. 为WordPress添加favicon图标
  3. 【Android 安全】DEX 加密 ( 阶段总结 | 主应用 | 代理 Application | Java 工具 | 代码示例 ) ★
  4. tensorflow加载模型
  5. OAM v1alpha2 新版:平衡标准与可扩展性
  6. windows7如何查看端口被占用
  7. 大数据互联网架构阶段 Java爬虫
  8. react(80)--判断值是否udefined
  9. jenkins 远程启动tomcat报错:Neither the JAVA_HOME nor the JRE_HOME environment variable is defined
  10. 钱币兑换问题 (完全背包)
  11. Elasticsearch教程(六) elasticsearch Client创建
  12. MATLAB中好用的快捷键
  13. 161021_又是两个月还是总结
  14. iphone 4 到iphone 6s plus的屏幕尺寸
  15. 计算机系毕业论文ppt模板,计算机专业答辩PPT模板.ppt
  16. python+django高速公路收费管理系统的设计
  17. 红外编解码模块YS-NEC使用
  18. NUC8冥王峡谷改装苹果网卡完美方案
  19. 零信任网络ZTNA及SDP概念理解 身份认证 安当加密
  20. 《FPGA设计实战演练》学习笔记(一)FPGA板级基础五要素电路介绍及注意事项(最小系统)

热门文章

  1. 迎风面投影指数迎风面密度计算工具及计算实例经验分享
  2. 7-14 电话聊天狂人 (25 分)
  3. 输入汉字获得拼音(VB.net)
  4. HUSKY导航——从无到有
  5. 我的世界服务器不显示前缀,[管理|聊天]TRCStudioChatSystem —— 多功能聊天系统|聊天|脏话|匿名|前缀[1.7-1.15]...
  6. Cocos技术派 | TS版属性面板定义高级用法
  7. 当时我就哭了!中国首个火星探测器天问一号发射成功!
  8. 360校招笔试题总结3
  9. 目标检测算法Faster R-CNN论文解读
  10. 【3】WEB安全学习----HTTP协议