在 Bash 中重命名文件
借助 Bash 脚本,您可以自动执行您的任务。 文件重命名是各种系统的常见任务。
您可以手动重命名所有文件。 但是,如果您的文件名有序列,最好自动执行此任务。
这样,您可以轻松地以正确的顺序重命名目录中的所有文件。
在本文中,我们将介绍一种方法,通过它您可以轻松地重命名目录中的所有文件。 此外,我们将看到必要的示例和解释,以使主题更容易理解。
在 Bash 中使用 mv 命令重命名文件
Bash 脚本包含一个称为 mv 的内置命令。 mv 命令主要用于将目录和文件从一个位置移动到另一个位置。
它还可用于重命名文件和目录。 关于此命令的一个重要事项是,如果您不指定文件的新名称,文件名将在其新位置相同。
此命令的一般语法是 $ mv [OPTIONS] SOURCE DESTINATION
。 此命令的可用选项是:
- mv -f - 此标志将在没有提示的情况下通过覆盖目标文件来强制移动。
- mv -i - 此标志用于覆盖前的交互式提示。
- mv -u - 此标志用于更新。 这只会在文件是新源而不是目标时移动文件。
- mv -v - 此标志将打印源和目标的所有文件。
- man mv - 此标志将打开帮助手册。
假设我们有一个具有以下顺序的文件列表。
1_file.txt
2_file.txt
3_file.txt
4_file.txt
5_file.txt
6_file.txt
现在,看看下面的代码示例。
for file in *.txt
do
mv "$file" "${file/_file.txt/_Textfile.txt}"
done
在上面的示例中,我们将所有文件重命名为 .txt 类型。 为此,我们使用了带有命令 mv 的 for 循环。
现在用于此目的的一般语法是 mv "$LoopVar" "${LoopVar/PreviousName.txt/NewName.txt}"
。
这里你要注意,你需要在文件名中包含一个循环变量; 否则,它可能会导致覆盖,因为它是系统生成的名称。
现在当你运行上面的代码时,你会看到你的所有文件都被重命名为如下所示。
1_Textfile.txt
2_Textfile.txt
3_Textfile.txt
4_Textfile.txt
5_Textfile.txt
6_Textfile.txt
此命令的一个重要事项是指定文件名的公共部分以标识文件。 它可以是文件类型或文件名中的任何其他常见模式。
否则,该命令可能无法成功重命名所有文件。
在 Bash 中使用 rename 命令重命名文件
Bash 脚本中还有一个名为 rename 的第三方命令。 但是你需要在使用它之前安装它。
要在您的 shell 环境中安装此命令,您可以按照以下适用于 Ubuntu 和 Debian 的命令进行操作。
$ sudo apt install rename
之后,我们可以像下面这样重命名文件。
rename [Your Options] 's/[Current Filename]/[New Filename]/' [Filename]
此命令还包含一些选项,如下所示。
-
-a
- 此选项将替换除第一个文件之外的所有文件名。 -
-f
- 此选项将强制覆盖现有文件。 -
-h
- 此选项将显示帮助文本。 -
-i
- 此选项将在覆盖现有文件之前显示提示通知。 -
-l
- 此选项将替换最后出现的元素而不是第一个出现的元素。 -
-n
- 此选项执行空运行。 -
-s
- 此选项重命名目标而不是符号链接。 -
-v
- 此选项以详细版本显示输出。 -
-V
- 此选项显示命令版本。
我们可以使用以下命令重命名上述文件集。
rename -v 's/_Testfile/_Test/' *.txt
它将显示以下输出。
1_Testfile.txt renamed as 1_Test.txt
2_Testfile.txt renamed as 2_Test.txt
3_Testfile.txt renamed as 3_Test.txt
4_Testfile.txt renamed as 4_Test.txt
5_Testfile.txt renamed as 5_Test.txt
6_Testfile.txt renamed as 6_Test.txt
相关文章
在另一个 Bash 脚本中包含脚本文件
发布时间:2023/06/09 浏览次数:79 分类:操作系统
-
本文讨论了将一个 Bash 脚本文件包含到另一个脚本文件中的不同方法。在 Bash 脚本中包含文件 在 Bash 中包含或重用脚本非常简单。
使用 Bash 将文件读入数组
发布时间:2023/05/31 浏览次数:81 分类:操作系统
-
本篇文章介绍了一些使用 Bash 从文件中读取行并将其加载到数组中的方法。首先,我们将看到 readarray 方法。 之后,我们将研究一种更通用的将文件读入 Bash 数组的方法。
在 Bash 中从文件中删除行
发布时间:2023/05/31 浏览次数:168 分类:操作系统
-
在 Bash 脚本中,有几种方法可以从文件中删除一行。 本文将讨论从文件中删除不必要行的不同方法。使用 tail 删除文本文件的一行
在 Bash 中查找文件大小
发布时间:2023/05/31 浏览次数:109 分类:操作系统
-
在 Bash 脚本中,有几种方法可以找到文件的大小。 本文将展示如何通过 Bash 查找文件的大小。我们将在这里讨论三种不同的方法,您可以根据自己的需要选择最合适的一种。
在 Bash 中删除空行
发布时间:2023/05/31 浏览次数:113 分类:操作系统
-
使用文件时,您可能需要在显示文件之前从文件中删除空行。 在 Bash Script 中,有几种方法可以从文件中删除空行。在 Bash 中删除空行的文件
在 Bash 中递归查找文件
发布时间:2023/05/31 浏览次数:197 分类:操作系统
-
这篇文章是关于 Bash 中的 find 命令的。 本文将讨论在 Bash 中使用 find 命令查找特定类型文件的方法。在 Bash 中使用 find 命令递归查找文件 用于导航文件层次结构的命令行工具是 Linux 中的 find
在 Bash 中将文件读入变量
发布时间:2023/05/31 浏览次数:169 分类:操作系统
-
本文将展示我们如何在变量中获取文件。 此外,我们将看到必要的示例和适当的解释,以使主题更容易理解。要保存到变量中的文本文件
在 Bash 中检查文件是否为空
发布时间:2023/05/31 浏览次数:80 分类:操作系统
-
通常需要检查文件是否为空,幸运的是,有一些简单的方法可以在终端上使用 Bash 或什至使用 Bash 脚本来检查。在 Bash 中使用带有 -s 选项标志的测试命令来检查文件是否为空
在 Bash 中搜索文件名以指定字符串开头的文件
发布时间:2023/05/31 浏览次数:129 分类:操作系统
-
在本文中,我们将学习如何查找文件名以指定字符串开头的所有文件。在 Bash 中搜索文件名以指定字符串开头的文件。使用 grep 命令