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

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

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

A. LYM-NC-1803_19-3-24-2.read1_Clean.uniq.sortByName.bam
B. LYM-NC-1803_19-3-24-2.read2_Clean.uniq.sortByName.bam

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

我们可以使用 “空” 来添加或删除名称(例如将 C 文件重命名为 D):

C. C2C12-exoCTRL.sortByName.bam
D. C2C12-exoCTRL.sortByName.uniq.bam

  1. mv C2C12-exoCTRL.sortByName{,.uniq}.bam

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

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

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