`
phoenix007
  • 浏览: 436254 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

linux下rename命令的用法

阅读更多

刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令,建议大家用mv命令。鉴于此,于是man rename一下,好好的研究了一下它的用法 ,在此对rename命令和mv命令在重命名文件方面做一个比较,有不足之处,希望各位博友指正!

首先来说一下mv命令,在man mv中我们可以看到对于mv命令的介绍是这样的:

mv -move(rename) files

可以看到mv命令确实有重命名的功能,但是实际应用中,它只能对单个文件重命名,命令如下:

mv [path/]oldfilename [path/]newfilename

“mv命令只能对单个文件重命名”,这实就是mv命令和rename命令的在重命名方面的根本区别。

再来说rename命令,在man rename的说明如下:

NAME

rename -Rename files

SYNOPSIS

rename from to file....

DESCRIPTION

rename will rename the specified files by replacing the first occurrence of from in their name by to.

For example, given the files foo1, ..., foo9, foo10, ..., foo278, the commands

rename foo foo0 foo?

rename foo foo0 foo??

will turn them into foo001, ..., foo009, foo010, ..., foo278.

And

rename .htm .html *.htm

will fix the extension of your html files.

可以看出rename命令是专用于文件重命名的,而且根据其后的例子可以看出,rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数。

上面的例子中给出了两种文件批量重命名的用法,而实际上,rename结合通配符使用,它的功能比上面的例子所显示的更强大。基本的通配符有以下几个:

?    可替代单个字符

*    可替代多个字符

[charset]    可替代charset集中的任意单个字符。

下面以例子加以说明:

如文件夹中有这些文件foo1, ..., foo9, foo10, ..., foo278,如果使用

rename foo foo0 foo?

则它只会把foo1到foo9的文件重命名为foo01到foo09,因为?通配符只能替代单个字符,所以被重命名的文件只是有4个字符长度名称的文件,文件名中的foo被替换为foo0。

再继续使用

rename foo foo0 foo??

则文件夹中的foo01到foo99的所有文件都被重命名为foo001到foo099,而foo100及其以后的文件名都不变,因为通配符?的使用,所以只重命名5个字符长度名称的文件,文件名中的foo被替换为foo0。

如果再继续使用

rename foo foo0 foo*

则foo001到foo278的所有文件都被重命名为foo0001到foo0278,因为通配符*可替代多个字符,所以,所有以foo开头的文件都被重命名了,文件名中的foo被替换为foo0。

我们再来看通配符[charset]的用法,还是继续在上面所说的文件夹中,执行如下命令

rename foo0 foo foo0[2]*

则从foo0200到foo0278的所有文件都被重命名为foo200到foo278,文件名中的foo0被替换为foo。

在使用中,三种通配符可以一起结合使用,关于具体的其它用法就只有自己不断的摸索了。

 

本文来自: (www.91linux.com) 详细出处参考:http://www.91linux.com/html/article/cmd/20071219/9184.html

分享到:
评论

相关推荐

    Linux中用rename命令批量替换文件名方法实例

    需要注意的是:rename命令在不同的Linux发行版语法格式不一样。 语法 在Debian或者Ubuntu环境下使用的语法是: rename 's/stringx/stringy/' files 而在CentOS下或者RedHat下是: rename stringx stringy files ...

    Linux 下rename 命令的用法第1/2页

    本篇文章将深入探讨Linux下的`rename`命令及其与`mv`命令在重命名文件时的区别,以及如何有效地利用`rename`进行批量重命名。 首先,我们来看`mv`命令,它是Linux中最常用的命令之一,主要功能是移动或重命名文件和...

    Linux下ftp命令详解

    本文将详细介绍Linux下常用的FTP命令及其使用方法。 #### 一、退出与帮助命令 1. **!** - **功能**:从FTP子系统退出到外壳(Shell)。 - **用法**:`FTP> !` 2. **? / help** - **功能**:显示FTP命令的帮助...

    linux下FTP命令详解

    Linux下的FTP命令是一种在Linux操作系统中通过命令行接口与远程FTP服务器进行交互的方式。FTP(File Transfer Protocol)命令集提供了一系列指令,用于上传、下载、查看、管理远程服务器上的文件和目录。以下是一些...

    Linux下FTP命令详解

    本文将详细介绍Linux环境下FTP命令的使用方法及各个参数的功能。 #### 命令简介 1. **! (Exclamation Point)** - **功能**:用于执行本地操作系统命令。 - **语法**:`! [command]` - **示例**:`! ls -l` 可以...

    Linux批量重命名 rename & mv

    通常情况下,用户可能会直接使用`mv`命令来进行单个文件的重命名,但对于需要批量重命名的情况,`rename`命令则更为实用且高效。本文将详细探讨`rename`和`mv`命令在文件重命名方面的应用,并通过具体示例帮助读者...

    windows Dos and Linux 最全命令大全

    标题"windows Dos and Linux 最全命令大全"所指的,就是一份包含全面的Windows DOS命令和Linux命令的参考资料。CHM(Microsoft Compiled HTML Help)格式是一种微软开发的帮助文件格式,它将HTML页面打包成单一文件...

    linux下FTP命令详解.txt

    以下是对 Linux 下 FTP 命令的详细解释,旨在帮助用户更好地理解和使用这些命令。 #### 1. `!` 该命令用于执行当前系统的命令,即在 FTP 会话中调用本地 shell 来执行命令。 #### 2. `?` 或 `help` 这两个命令都是...

    Java语言编写的Linux简单命令解释器

    8. **rename命令**:`rename`用于重命名文件或目录。Java的`File`类提供了`renameTo()`方法,但需要注意文件名冲突和权限问题。 9. **copy命令**:复制文件通常需要使用`java.nio.file`包中的`Files`类,调用`copy...

    Linux运维常用命令.doc

    Linux 运维常用命令 Linux 运维中有很多常用的命令,这些命令可以帮助运维人员更方便地管理和维护 ...Linux 系统下命令的执行优先级按照以下顺序: 1. 指定路径的命令 2. 别名指定的命令 3. 内部命令 4. hash 命令

    Linux命令大全手册

    Linux命令大全手册旨在帮助用户熟悉Linux操作系统,尤其是...熟练掌握这些命令将使你在Linux环境下更加游刃有余。此外,现代Linux发行版通常提供图形化界面,如KDE或GNOME,但对命令行的了解仍然是提升效率的必备技能。

    linuxshell linux命令

    在Linux Shell中,使用`&`符号可以在后台执行命令,允许用户在不阻塞Shell的情况下运行耗时的操作。例如,`command &`会立即返回Shell提示符,而命令将在后台继续执行。配合`jobs`和`fg`命令,用户可以管理后台任务...

    linux中mv命令使用详解.docx

    mv 命令是 move 的缩写,可以用来移动文件或者将文件改名(move/rename files),是 Linux 系统下常用的命令,经常用来备份文件或者目录。 命令格式 mv [选项] 源文件或目录 目标文件或目录 命令功能 mv 命令将...

    Linux 重命名命令自制详细介绍

    Linux 重命名命令 相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 准备工作 操作系统: Linux内核的系统都可以 ...

    DOS+Linux命令大全

    本资源集合了"DOS+Linux命令大全",包括了这两个操作系统中的常用命令,旨在帮助用户更好地理解和掌握系统操作。以下是这些命令的详细说明: **DOS命令大全** DOS(Disk Operating System)是早期个人计算机上广泛...

    Linux常用的命令

    本文将详细解析"Linux常用的命令"这一主题,基于提供的资源——一个名为"linux常用命令.ppt"的压缩包文件,我们将探讨一系列在Linux环境中不可或缺的命令,这些命令对于日常操作至关重要。 首先,让我们从基础开始...

    linux部分简单命令

    8. **Mv (Move/Rename)**: `mv`命令可以用于移动文件或重命名文件。如果在同一目录下,仅改变文件名,如`mv oldname newname`;若跨目录操作,则相当于剪切和粘贴。 9. **More/Head/Tail**: `more`用于分页显示文件...

    linux命令cpio用法详解

    Linux 命令 cpio 用法详解 cpio 是一个用于建立、还原备份档的工具程序,可以加入、解开 cpio 或 tar 备份档内的文件。下面将详细讲解 cpio 命令的用法,包括各种选项和参数的解释。 基本语法 cpio 命令的基本...

Global site tag (gtag.js) - Google Analytics