[Bash Tips] 在 Linux 中重命名文件而不输入两次全名

本简要指南介绍了如何在 Linux 操作系统中重命名文件而无需输入两次全名。 众所周知,我们使用 mv 在 Linux 中重命名文件的命令。 要重命名文件,命令将是:

$ mv <old_file_name> <new_file_name>

让我给你看一个 example.

$ touch ostechnix1.txt
$ mv ostechnix1.txt ostechnix2.txt
在 Linux 中使用 mv 命令重命名文件

这就是我们重命名文件的方式 mv Linux 中的命令。 上面的命令将重命名文件名为 "ostechnix1.txt""ostechnix2.txt". 如您所见,我们在上述命令中输入了两次文件名。 但是,这不是必需的。 借助简单的 BASH 函数,我们可以在 Linux 中使用 mv 命令轻松重命名文件,而无需输入两次文件名。

在 Linux 中重命名文件而不输入全名两次

编辑您的 ~/.bashrc 用你最喜欢的编辑器归档:

$ nano ~/.bashrc

在末尾添加以下行:

# Bash Function To Rename Files Without Typing Full Name Twice
function mv() {
  if [ "$#" -ne 1 ] || [ ! -e "$1" ]; then
    command mv "[email protected]"
    return
  fi

  read -ei "$1" newfilename
  command mv -v -- "$1" "$newfilename"
}
一个简单的 Bash 函数来重命名文件而无需输入两次全名

在这里, bash 函数名称是 mv。 您可以根据自己的喜好选择任何其他不同的名称。 Save 和 close 文件。 然后运行以下命令使更改生效:

$ source ~/.bashrc

从现在开始,您只能指定原始文件名并重命名文件,如下所示。

$ mv ostechnix1.txt

这将在终端中显示文件名。 编辑文件名并按 ENTER 键重命名它。 看看下面的视觉演示。

在 Linux 中重命名文件而不输入两次全名在 Linux 中重命名文件而不输入两次全名

正如你在上面的输出中看到的,我已经重命名了文件 ostechnix1.txtostechnix2.doc. 很方便,对吧?

使用箭头键移动字母或按退格键删除所有字母并键入文件的新名称。 不仅是文件名,您还可以重命名文件扩展名。 这就像按 F2 键并在 GUI 中重命名文件一样。

无需两次输入全名即可重命名文件的其他方法

还有一些其他方法可以重命名文件,而无需输入两次全名。

方法 1 – 使用 mv 命令

除了 BASH 函数方法,这里还有另一种简单的方法重命名文件 mv 命令。 我们甚至不需要 BASH 函数。 使用以下单行命令快速重命名文件:

$ mv ostechnix{1,2}.txt

上面的命令将复制名为 ostechnix1.txtostechnix2.txt.

这是另一个 example. 以下命令会将“IMG_20140210_150415974.jpg”重命名为“IMG_20140210_ostechnix.jpg”。

$ mv IMG_20140210_{150415974,ostechnix}.jpg

如果您不想重命名,但想拥有同一个文件的两个副本,请使用 cp 命令如下:

$ cp ostechnix{1,2}.txt

上述命令会将 ostechnix1.txt 的内容复制到 ostechnix2.txt。 您现在应该有两个内容相同的文件。

方法 2 – 使用 readline 键绑定(CTRL+w、CTRL+y 和 CTRL+y)

我们可以用 阅读线 快速重命名文件的键绑定。 默认情况下,这些键绑定与主流 shell 一起提供。 这 CTRL+w command 将从命令中删除最后一个单词,并且 CTRL+y 键将在终端中粘贴该单词。

使用 readline 键绑定重命名文件而不输入两次全名使用 readline 键绑定重命名文件而不输入两次全名

正如您在上面的输出中看到的,

  • 首先,我输入“mv ostechnix1.txt”。
  • 其次,我按 CTRL+w 删掉最后一句话,即 ostechnix1.txt.
  • 第三,我按 CTRL+y 粘贴最后一个单词。
  • 最后,我按下 CTRL+y 再次粘贴相同的单词,然后重命名。

方法 3 – 使用 renameutils 中的“imv”

重命名工具 是一组旨在更快、更轻松地批量重命名文件和目录的程序。 Renameutils 包含一个名为 "imv" 其中。 它允许您以交互方式重命名文件名。

要重命名文件,请执行以下操作:

$ imv ostechnix1.txt

这将在终端中显示上述文件名。 根据需要编辑文件名,然后按 ENTER 重命名它。 要了解其他重命名方法,请参阅以下指南。

  • 如何在 Linux 中一次重命名多个文件

其他 Bash 提示:

  • 如何在一个命令中使用 cd 和 ls
  • 如何在一个命令中 cp 或 mv 和 cd
  • 用于提取各种类型文件档案的 Bash 函数

希望这可以帮助。

资源: