小技巧 | 使用 mv 重命名文件无需两次键入文件名称

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

ddbcef92-5257-4218-ba97-258adb8b6adf.png


ccf24fb8-160b-41a0-82e8-3cee8e2a657b.gif 戳原文,更有料!

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

posted @ 2020-04-17 14:28  章鱼猫先生  阅读(76)  评论(0编辑  收藏  举报