linux中重命名的命令:rename,man rename,
rename命令带3个参数,可以给单个文件重命名,也可以批量文件重命名。
rename可以结合通配符使用,基本的通配符有以下几个:
? 可替代单个字符;
* 可替代多个字符;
[charset] 可替代charset集中的任意单个字符。
rename同时支持正则表达式,句式如下:
# 删除所有的.bak后缀:
rename 's/\.bak$//' *.bak
# 把.jpe文件后缀修改为.jpg:
rename 's/\.jpe$/\.jpg/' *.jpe
# 把文件名改为小写:
rename 'y/A-Z/a-z/' *
看来用rename来解决上面的问题再合适不过了,把“唱片名称_发行时间_歌手_”这部分汉字替换为空,就可以符合文件名的要求了。汉字的unicode编码区间为[\u4e00-\u9fa5],rename语句如下:
rename 's/[\u4e00-\u9fa5]+_[\u4e00-\u9fa5]+_[\u4e00-\u9fa5]+_//' *.mp3
在rhel4上运行了一遍,文件重命名失败。问题在于要匹配的那部分汉字,不如文件的后缀名那样,可以显式的写出来,因此很难匹配。例如命令rename foo foo0 foo?? 可以吧文件夹中的foo01到foo99的所有文件都被重命名为foo001到foo099,但foo100及其以后的文件名由于无法成功匹配,文件名保持不变。
既然正则表达式无法做下去,我尝试着用其它的命令来实现,观察到文件的命名很有规律,于是考虑用awk从文件名的几个域中提取出“歌曲名”域,然后用mv命令重命名,语句如下:
for name in `ls`; do mv $name `echo $name|awk -F _ '{print $4}' `\.mp3 ; done
文件重命名成功。
分享到:
相关推荐
Linux 重命名命令 相比于Windows上的ren命名,Linux还真的是没有一个特定的重命名的命令。(虽然可以间接的使用mv来实现)。下面我就来自己写一个简单的重命名命令。 准备工作 操作系统: Linux内核的系统都可以 ...
### Linux批量重命名工具:rename与mv命令详解 在Linux系统中,文件的重命名是一项常见操作。通常情况下,用户可能会直接使用`mv`命令来进行单个文件的重命名,但对于需要批量重命名的情况,`rename`命令则更为实用...
mv 命令是 Linux 中最常用的文件重命名命令。其基本语法为 `mv 旧文件名 新文件名`。例如,要将文件 `oldname.txt` 重命名为 `newname.txt`,可以使用以下命令: ``` mv oldname.txt newname.txt ``` mv 命令可以...
在 Linux 中,我们对文件进行重命名一般都会使用到 mv 命令,这在对单个文件重命名时非常方便。但是,若我们想要对一组文件进行重命名,mv 就有些乏力了。不过没关系,今天我们来介绍一个好用的可以实现批量重命名的...
设计内容:在Linux环境下模拟实现简单命令解释器(即定义一个命令使它具有Linux中某些命令的功能) 例如:定义mydir使它具有dir 的功能 即在Linux环境中 $ mydir 和 $dir 作用一样 就实现了dir命令的解释。 (1)...
本篇文章将深入探讨Linux下的`rename`命令及其与`mv`命令在重命名文件时的区别,以及如何有效地利用`rename`进行批量重命名。 首先,我们来看`mv`命令,它是Linux中最常用的命令之一,主要功能是移动或重命名文件和...
2. 命令行工具:对于高级用户或开发者,他们可能会使用命令行工具,例如Windows的`ren`或`rename`命令,Unix/Linux的`mv`命令,进行批量或更复杂的重命名操作。 3. 脚本语言:通过编写脚本(如Python、Bash或批处理...
7. `ren`或`rename`:重命名文件。 这些命令在Windows的命令提示符(CMD)环境中仍然可用,尽管现代的Windows系统更多地依赖图形界面。 接下来,我们转向"Linux命令大全"。Linux命令行,也称为终端或Shell,提供了...
### 在Linux中使用`rename`命令批量重命名文件 #### 概述 在Linux系统中,用户经常需要对大量的文件进行重命名操作。虽然可以通过`mv`命令来手动更改单个文件名,但对于批量操作来说这显然是低效的。这时,`rename`...
mv 命令是 move 的缩写,可以用来移动文件或者将文件改名(move/rename files),是 Linux 系统下常用的命令,经常用来备份文件或者目录。 命令格式 mv [选项] 源文件或目录 目标文件或目录 命令功能 mv 命令将...
在Linux系统中,FTP客户端提供了丰富的命令集来管理文件传输任务,包括上传、下载、目录浏览等操作。本文将详细介绍Linux下常用的FTP命令及其使用方法。 #### 一、退出与帮助命令 1. **!** - **功能**:从FTP子...
8. **rename命令**:`rename`用于重命名文件或目录。Java的`File`类提供了`renameTo()`方法,但需要注意文件名冲突和权限问题。 9. **copy命令**:复制文件通常需要使用`java.nio.file`包中的`Files`类,调用`copy...
Linux下的FTP命令是一种在Linux操作系统中通过命令行接口与远程FTP服务器进行交互的方式。FTP(File Transfer Protocol)命令集提供了一系列指令,用于上传、下载、查看、管理远程服务器上的文件和目录。以下是一些...
本文将详细解析"Linux常用的命令"这一主题,基于提供的资源——一个名为"linux常用命令.ppt"的压缩包文件,我们将探讨一系列在Linux环境中不可或缺的命令,这些命令对于日常操作至关重要。 首先,让我们从基础开始...
6. **重命名或移动文件命令**:`mv`(DOS中的`ren`或`rename`) `mv`命令可以实现文件重命名和移动。例如,`mv oldfile newfile`重命名,`mv file /newdir`移动到新目录。 7. **复制文件命令**:`cp`(DOS中的`...
Linux 运维中有很多常用的命令,这些命令可以帮助运维人员更方便地管理和维护 Linux 系统。以下是部分常用的 Linux 命令。 du 命令 du 命令用于统计目录或文件的磁盘空间占用情况。常用选项包括: * -a:统计磁盘...
还可以使用`rename`命令批量重命名文件。 5. **Shell输入与输出** Shell提供了标准输入(stdin)、标准输出(stdout)和标准错误(stderr)的概念。使用`和`>`可以重定向输入和输出,`2>`用于专门重定向错误输出。...
7. **mv** (Move or Rename): 移动文件或重命名,如`mv oldname newname`重命名文件,`mv file /new/path`将文件移动到新路径。 8. **touch** (Update Timestamps or Create New File): 更新文件时间戳或创建新文件...