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

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

$ mv <old_file_name> <new_file_name>

让我给你看一个 example.

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

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

内容

  1. 在 Linux 中重命名文件而无需两次输入全名
    1. 无需两次输入全名即可重命名文件的其他方法
    2. 方法 1 – 使用 mv 命令
    3. 方法 2 – 使用 readline 键绑定(CTRL+w、CTRL+y 和 CTRL+y)
    4. 方法 3 – 使用 renameutils 中的“imv”

在 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 命令将从命令中删除最后一个单词,然后 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 函数

希望这可以帮助。

资源:

相关阅读:

Posted in: Linux