linux下重名命的命令,如何在Linux上使用重命名命令 | MOS86

掌握Linux世界的文件重命名功能,让mvand自己休息一下。 重命名非常灵活,快速,有时甚至更容易。这是此命令强大功能的教程。

mv没错。 该命令做得很好,可以在所有Linux发行版,macOS和其他类似Unix的操作系统中找到该命令。 因此它始终可用。但是有时您只需要推土机,而不是铲子即可。

mv命令有其作用,那就是移动文件。 令人高兴的是,它可以用于将现有文件移动到新文件中并使用新名称。 最终结果是重命名文件,因此我们得到了想要的。 但是mv不是专用的文件重命名工具。

要使用mv重命名文件类型,请输入mv,空格,文件名,空格以及希望文件具有的新名称。 然后按Enter。

您可以使用ls检查文件是否已重命名。

您可以使用ls检查文件是否已重命名。

要重命名多个文件时,事情变得棘手。 mv无法处理重命名多个文件的功能。 您必须诉诸一些漂亮的Bash技巧。如果您知道一些中级命令行功能,就可以了,但是用mv重命名多个文件的复杂性与使用mv重命名单个文件的简便性形成了鲜明的对比。

事情迅速升级。

可以说,我们有一个目录,其中包含各种类型的文件。 其中一些文件的扩展名为.prog。 我们要在命令行中重命名它们,以便它们具有.prg扩展名。

我们如何纠缠mv为我们做到这一点? 让我们看一下文件。

我们如何纠缠mv为我们做到这一点? 让我们看一下文件。

这是一种做到这一点的方法,该方法无需求助于编写实际的Bash脚本文件。

为* .prog中的f; 做MV-“ $ f”“ $ {f%.prog} .prg”

努力工作吗? 让我们检查文件并查看。

努力工作吗? 让我们检查文件并查看。

所以,是的,它起作用了。 它们现在都是.prg文件,并且该目录中没有.prog文件。

那条长命令实际上是做什么的? 让我们分解一下。

为* .prog中的f; 做mv-“ $ f”“ $ {f%.prog} .prg”第一部分开始一个循环,该循环将依次处理目录中的每个.prog文件。

下一部分说明了处理的过程。正在使用mv将每个文件移动到新文件。 新文件将以原始文件名(.prog部分除外)命名。 将会使用.prg的新扩展名。

明确地。 这是重命名命令。

重命名不是标准Linux发行版的一部分,因此您需要安装它。 在不同的Linux家族中,它的名称也不同,但是它们的工作方式都相同。您只需要根据您使用的Linux风格替换适当的命令名即可。

在Ubuntu和Debian发行版中,您安装的重命名如下:

sudo apt-get install重命名

在Fedora和RedHat派生的发行版中,您将这样安装预命名。 注意首字母p,它代表Perl。

sudo dnf安装名

要将其安装在Manjaro Linux中,请使用以下命令。 请注意,重命名命令称为perl-rename。

sudo pacman -Syu perl重命名

这次可以很好地使用重命名。倒退时钟,以便我们有一组.prog文件。

这次可以很好地使用重命名。倒退时钟,以便我们有一组.prog文件。

现在,使用以下命令对其进行重命名。 好吧,然后与ls检查是否有效。 如果您不使用Ubuntu或Debian衍生的Linux,请记住用Linux的适当命令名替换重命名。

重命名s / .prog / .prg / * .progls * .pr *

可行,它们现在是所有.prg文件,并且目录中没有.prog文件。

让我们分三部分来解释一下魔术。

第一部分是命令名称,重命名(对于其他发行版,则为prename或perl-rename)。

最后一部分是* .prog,它告诉重命名对所有.prog文件进行操作。

中间部分定义了我们要对每个文件名完成的工作。 s表示替代。 第一项(.prog)是重命名将在每个文件名中搜索的内容,第二项(.prg)是它将被替换的名称。

该命令的中间部分(即中央表达式)是Perl正则表达式,正是它使重命名命令具有灵活性。

到目前为止,我们已经更改了文件扩展名,让我们修改文件名的其他部分。

目录中有很多C源代码文件。 所有文件名都以slang_为前缀。 我们可以用ls检查。

目录中有很多C源代码文件。 所有文件名都以slang_为前缀。 我们可以用ls检查。

我们将用sl_替换所有出现的slang_。 该命令的格式已经为我们所熟悉。 只是更改搜索词,替换词和文件类型。

重命名s / slang_ / sl_ * .c

这次我们正在寻找.c文件,并搜索slang_。 每当在文件名中找到slang_时,它将用sl_替换。

我们可以通过使用相同的参数从上方重复ls命令来检查该命令的结果:

我们可以通过使用相同的参数从上方重复ls命令来检查该命令的结果:

我们可以通过不添加任何搜索词来删除文件名的一部分。

我们可以通过不添加任何搜索词来删除文件名的一部分。

从ls命令可以看到,我们的.c文件都以sl_开头。 让我们完全摆脱它。

重命名命令的格式与以前相同。 将要寻找.c文件。 搜索项是sl_,但是没有替代项。 两个反斜杠之间没有任何含义,表示空字符串。

重命名将依次处理每个.c文件。 它将在文件名中搜索sl_。 如果找到它,它将什么也不会替换。 换句话说,搜索项被删除。

ls命令的第二次使用确认已从每个.c文件中删除sl_前缀。

让我们使用ls来查看文件名中包含字符串param的文件。 然后很好地使用重命名用string参数替换该字符串。 再次使用ls来查看重命名命令对这些文件的影响。

ls * param *重命名s / param / parameter * .cls * param *

找到四个文件名中包含参数的文件。 param.c,param_one.c和param_two.c在其名称的开头都具有param。 third_param.c在其名称的末尾,即扩展名之前,具有param。

重命名命令将在文件名中的所有位置搜索param,并在所有情况下均用参数替换。

ls命令的第二次使用向我们展示了这确实发生了。 无论参数是在文件名的开头还是结尾,它都已被参数替换。

我们可以使用Perls元字符来完善中间表达式的行为。 元字符是代表字符位置或序列的符号。 例如,^表示字符串的开头,$表示字符串的结尾,和。 表示任何单个字符(除了换行符)。

我们将使用字符串元字符(^)的开头将搜索范围限制为文件名的开头。

ls * param * .crename s / ^参数/值/ * .cls * param * .cls值* .c

列出了我们之前重命名的文件,我们可以看到string参数位于三个文件名的开头,并且位于其中一个文件名的结尾。

我们的重命名命令在搜索项参数之前使用行(^)元字符的开始。 这告诉重命名仅在文件名开头才考虑已找到搜索词。 如果搜索字符串参数在文件名中的其他位置,则将被忽略。

通过ls进行检查,我们可以看到文件名末尾带有参数的文件名没有被修改,但是名字开头有参数的三个文件名已经用替换项值替换了搜索字符串。

重命名的力量在于Perl的力量。Perl的所有力量都可以使用。

重命名还有很多技巧。 让我们考虑一下您的文件名中可能包含相似字符串的情况。 它们不是完全相同的字符串,因此在这里无法进行简单的搜索和替换。

在此示例中,我们使用ls来检查我们拥有以str开头的文件。 它们有两个,string.c和strangle.c。 我们可以使用称为分组的技术一次重命名两个字符串。

此重命名命令的中央表达式将在文件名中搜索字符串,该文件名具有字符序列stri或stra,其中这些序列后跟ng。 换句话说,我们的搜索词将查找字符串和字符串。 替代词是bang。

此重命名命令的中央表达式将在文件名中搜索字符串,该文件名具有字符序列stri或stra,其中这些序列后跟ng。 换句话说,我们的搜索词将查找字符串和字符串。 替代词是bang。

第二次使用ls确认string.c变为bang.c,而strangle.c现在变为bangle.c。

重命名命令可以对称为翻译的文件名执行操作。翻译的一个简单示例是将一组文件名强制为大写。

在下面的重命名命令中,请注意没有使用s /来启动中心表达式,而是使用了y /。 正在执行翻译。

a-z项是一个Perl表达式,表示从a到z的序列中的所有小写字符。类似地,A-Z项表示从A到Z的序列中的所有大写字母。

可以解释该命令中的中心表达式,就像在文件名中找到从a到z的任何小写字母一样,将它们替换为从A到Z的大写字符序列中的相应字符。

要将所有.prg文件的文件名强制为大写,请使用以下命令:

重命名y / a-z / A-Z / * .prg

重命名y / a-z / A-Z / * .prg

ls命令向我们显示所有的.prg文件名现在都是大写的。 实际上,严格来说,它们不再是.prg文件。 它们是.PRG文件。 Linux区分大小写。

通过反转中央表达式中a-z和A-Z项的位置,我们可以反转最后一条命令。

重命名y / A-Z / a-z / * .PRG

重命名y / A-Z / a-z / * .PRG

熟悉Perl是花费时间。 但是,要开始使用重命名命令的省时功能,您根本不需要具备很多Perl知识,就可以在功能,简单性和时间上获得巨大的好处。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值