使用过 Bash 的童鞋都知道 mv 是一个可以用于文件改名的命令,而且使用这个命令修改文件名时我们需要输入两次文件名(旧名字和新名字)。

如果有一种情况是只需要你改动文件名中的一个字母,而文件名又特别长,这就很烦人。这里有一个 Bash 技巧,可以让你输入最小化。

例如,我们要把 A 文件重命名为 B 文件:

  1. LYM-NC-1803_19-3-24-2.read1_Clean.uniq.sortByName.bam

  2. LYM-NC-1803_19-3-24-2.read2_Clean.uniq.sortByName.bam
$ mv LYM-NC-1803_19-3-24-2.read{1,2}_Clean.uniq.sortByName.bam

我们可以使用
“空” 来添加或删除名称。例如,我们将以下 a 文件重命名为 b 文件:

  1. C2C12-exoCTRL.sortByName.bam

  2. C2C12-exoCTRL.sortByName.uniq.bam
$ mv C2C12-exoCTRL.sortByName{,.uniq}.bam

最后,安利一个使用 mv 命令重命名 linux bash 中的文件,而无需两次输入全名的快捷方式。

  1. 首先,把下面的代码粘贴到你的 ~/.bashrc 文件最后, :wq 保存。


    # Put this function to your .bashrc file.

     
# Usage: mv oldfilename
# If you call mv without the second parameter it will prompt you to edit the filename on command line.
# Original mv is called when it's called with more than one argument.
# It's useful when you want to change just a few letters in a long name.
#
# Also see:
# - imv from renameutils
# - Ctrl-W Ctrl-Y Ctrl-Y (cut last word, paste, paste)

function  mv() {
   if [  "$#" -ne 1 ] || [ ! -e  "$1" ];  then
     command mv  "$@"
     return
   fi

   read -ei  "$1" newfilename
   command mv -v --  "$1"  "$newfilename"
}
  1. source ~/.bashrc 刷新环境变量。

  2. 使用 mv 命令重命名 Linux 中的文件。如果您在命令中包含路径名部分,那么它也将与路径名部分一起工作,请参考下面的视频截图(如果视频看不清楚,请点击文章左下角 "阅读原文" 查看)。

以上,就是使用 mv 重命名文件无需两次键入文件名称的一个小技巧。我想如果我们需要对文件名进行一些复杂的编辑,则这两个小技巧会很有用,因为在这种情况下,您最多只能使用一个大括号组。但老实说,在这种情况下,只需双击第一个要选择的参数,然后单击鼠标中键进行粘贴,然后使用箭头键进行编辑,就可以了。

戳原文,更有料!

本文分享自微信公众号 - 生信科技爱好者(bioitee)。
如有侵权,请联系 support@oschina.cn 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。

小技巧 | 使用 mv 重命名文件无需两次键入文件名称的更多相关文章

  1. [转]【Windows小技巧】批量重命名文件

    注:如果文件名包含空格,命令应写成ren "s0 (1).gif" s001.gif,简而言之,就是加上双引号!!!原因:系统将s0和(1).gif认为是两个参数,再加上后面的s0 ...

  2. Linux中mv重命名作用及打包war压缩文件及分配权限

    1.Linux中的重命名文件使用mv命令 touch a.txt 新建一个文件 mv a.txt b.txt 重命名文件为b.txt mkdir abc 新建一个目录 mv abc abd 重命名文件 ...

  3. Linux下使用mv重命名文件或者移动文件(增强版的工具为rename)

    mv命令既可以重命名,又可以移动文件或文件夹. 例子:将目录A重命名为B mv A B 例子:将/a目录移动到/b下,并重命名为c mv /a /b/c 例子:将文件A.txt重命名为B.txt mv ...

  4. Git使用详细教程(6):git mv重命名文件

    与使用git rm类似,Git还提供了重命名文件的命令git mv,我们可以通过该命令重命名文件. 如下图,git mv包含了以下动作

  5. Linux文件系统之mv(重命名/移动文件)

    mv(move)命令 输入man mv,了解到mv命令是用于移动或重命名文件 语法 mv [options] source dest mv [options] source... directory ...

  6. 重命名Apache日志,新日志文件会放在哪里

    重命名access.log为access.log.bak,请问新的apache日志会放在哪? 本文转自51cto的李导的博客2017-09-30-08:11:41 原创作品,允许转载,转载时请务必以超 ...

  7. linux重命名所有find查找到的文件/文件夹

    一.说明 在某些时候我们想要将所有find命令查找到的文件或文件夹全都重命名,比如都加上.bak后辍 二.操作命令 find /dir -name "*pattern*" -exe ...

  8. Java用来进行批量文件重命名,批量提取特定类型文件

    原因: 因为在网上下载视频教程,有的名字特别长,一般都是机构或者网站的宣传,不方便直接看到视频的简介,所以做了下面的第一个功能. 因为老师发的课件中,文件夹太多,想把docx都放在同一个文件夹下面,一 ...

  9. Oracle 12C 新特性之在线重命名、迁移活跃的数据文件

    Oracle 数据库 12c 版本中对数据文件的迁移或重命名不再需要太多繁琐的步骤,可以使用 ALTER DATABASE MOVE DATAFILE 这样的 SQL 语句对数据文件进行在线重命名和移 ...

  10. File常用的方法操作、在磁盘上创建File、获取指定目录下的所有文件、File文件的重命名、将数据写入File文件

    文章目录 1.基本介绍 2.构造方法 3.常用的方法 4.代码实例 4.1 创建文件和目录(目录不存在) 4.1.1 代码 4.1.2 测试结果 4.2 测试目录存在的情况.直接写绝对的路径名 4.2 ...

随机推荐

  1. python爬取猫眼电影Top100榜单的信息

    爬取并写入MySQL中 import pymysql import requests from bs4 import BeautifulSoup headers = { 'User-Agent': ' ...

  2. Java面试——消息队列

    一.消息队列的使用场景 ☞ 以下介绍消息队列在实际应用常用的使用场景.异步处理.应用解耦.流量削锋和消息通讯四个场景.[1]异步处理:场景说明:用户注册后,需要发注册邮件和注册短信.  引入消息队列后 ...

  3. git命令的学习和基本使用

    初始化 git init (your_project) 配置 --local 只对当前仓库有效 --global 对当前用户所有仓库有效 --system 对系统登录的所有用户有效 git confi ...

  4. 别逛了,送你一份2023年Java核心篇JVM(虚拟机)面试题整理

    Java内存区域 说一下 JVM 的主要组成部分及其作用? JVM包含两个子系统和两个组件,两个子系统为Class loader(类装载).Execution engine(执行引擎):两个组件为Ru ...

  5. ARC149(A~E)

    Tasks - AtCoder Regular Contest 149 又是114514年前做的题,现在来写 屯了好多,清一下库存 A - Repdigit Number (atcoder.jp) 直 ...

  6. Poe – Fast AI Chat 一款集成AI工具

    前言 Poe – Fast AI Chat是由知名问答社区 Quora 开发的 AI 产品,提供实时在线与多个 AI 机器人交流的功能.在去年12月,Quora首次推出Poe作为封闭测试版,并于2月份 ...

  7. Git提交代码仓库的两种方式

    目录 一: 两种本地与远程仓库同步 1 git 远程仓库 提交本地版本库操作 提交到远程版本库操作 1.Git 全局设置: 2.增加一个远程仓库地址 3.查询当前存在的远程仓库 5.本地版本库内容提交 ...

  8. Get Your Wish

    Get Your Wish (https://www.luogu.com.cn/problem/P7262) 一个模拟题 解读一下题目:简单来说就是在现在重力的方向上,如果有水滴和电子元件就GG,否则 ...

  9. Locust 运行方式

      命令参数方式运行 # -*- coding: utf-8 -*- from locust import TaskSet, task, User ''' 命令行参数运行示例代码 ''' class ...

  10. shiro拦截axios请求导致@RequireRole注解失效

    文章目录 ShiroRequiresRole注解对于axios请求无效 场景再现 解决方案 网上的解决方案 最近在整理一个自己以前做过的系统,想要添加一些功能,发现shiro框架出现了点问题,觉得这个 ...