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

linux中重命名的命令rename

阅读更多
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 重命名命令自制详细介绍

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

    Linux批量重命名 rename & mv

    rename除了给单个文件重命名,还可以批量文件重命名。同时,值得注意一点的是,rename命令是带3个参数而不是很多人认为的2个参数。

    详解如何在Linux上一次性批量重命名一组文件

    在 Linux 中,我们对文件进行重命名一般都会使用到 mv 命令,这在对单个文件重命名时非常方便。但是,若我们想要对一组文件进行重命名,mv 就有些乏力了。不过没关系,今天我们来介绍一个好用的可以实现批量重命名的...

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

    刚学习linux的时候,对文件重命名首先想到的就是rename命令,但是按照在windows下对文件重命名的方式试了N多次都没有反应,在网上一搜索,发现很多人都对rename命令知之甚少,甚至有一部分人说linux下没有rename命令...

    在Linux环境下模拟实现命令解释器

    设计内容:在Linux环境下模拟实现简单命令解释器(即定义一个命令使它具有Linux中某些命令的功能) 例如:定义mydir使它具有dir 的功能 即在Linux环境中 $ mydir 和 $dir 作用一样 就实现了dir命令的解释。 (1)...

    Linux下ftp命令详解

    Linux下ftp命令详解 FTP> ! 从 ftp 子系统退出到外壳。 FTP> ? 显示 ftp 命令说明。? 与 help 相同。 格式:? [command] 说明:[command]指定需要帮助的命令名称。如果没有指定 command,ftp 将显示全部命令的列表...

    cmd操作命令和linux命令大全收集

    fc one.txt two.txt > 3st.txt 对比二个文件并把不同之处输出到3st.txt文件中,"> "和"> >" 是重定向命令 at id号 开启已注册的某个计划任务 at /delete 停止所有计划任务,用参数/yes则不需要确认就直接停止 at ...

    嵌入式系统/ARM技术中的linux文件命令大全 (二上)

    linux文件命令大全 (二)一、rename 文件重命名 格式: rename 字符串 更新字符串 文件名 提示:一般使用mv比较简单一些 范例:mv a1 a2 、rename 1 2 a1 、rename a1 a2 a1 功能相同 将所有扩展名是gz的文件改为...

    batch_rename:macOS的命令行工具以批量重命名文件

    使用交互式文本编辑器在OS X中批量重命名文件。 背景 该宝石的灵感来自StackExchange用户于2015年6月提出的一个问题,他问是否存在。 系统要求 该宝石仅在OS X Yosemite上进行了测试。 尽管要使其在Windows,Linux...

    Linux操作系统基础教程

    在这一讲中,我们主要是了解一下 Linux 的概况,以及对 Linux 有一个初步的感性认识。 一.什么是Linux? Linux 是一个以 Intel 系列 CPU(CYRIX,AMD 的 CPU也可以)为硬件平台,完全免费的 UNIX 兼容系统,完全...

    Linux FTP服务配置

    最终权限等于配置文件中的权限和linux文件系统权限相或的结果。比如vsftp配置文件中允许匿名用户下载,但光这样是不够的,还需要被下载的文件或文件夹的能够被其他用户读取。 尝试上传文件失败,符合匿名用户只允许...

    Linux日常笔记(二)

    Linux 常用命令 日常笔记(一) 文件命令 pwd: 打印当前目录 rmdir: 删除空文件夹 rm -rf :删除任何文件夹含非空文件 mkdir:创建文件夹 ,常用参数-p rename :更改或重命名文件 具体格式:rename 【文件更改前】 ...

    小白的linux命令分享

    用rename来重命名文件 ln -s [源文件] [目标文件] 创建软连接(符号链接) inode-number 不相同 ln [源文件][目标文件]创建硬链接 inode-number 相同 tar -cf [打包文件名] [要打包的文件/列表] (c 创建打包文件 f ...

    Linux高级bash编程

    使用export命令传递一个变量到一个内嵌awk的脚本中 11-19. 使用getopts命令来读取传递给脚本的选项/参数. 11-20. "Including"一个数据文件 11-21. 一个没什么用的,source自身的脚本 11-22. exec的效果 11-23. 一个...

    2020-02-19

    Linux系统常用Shell命令 学习方法:按照命令功能进行分类学习记忆...rename:重命名文件 mv:move,移动文件 chmod:changemode,修改文件的权限属性chown:changeownership,修改文件的所有者属性touch:修改文件的时间属性

    watchdir:在给定目录中修改文件时运行命令的工具

    Watchdir 项目: : 下载: : 触发给定文件事件(可能的事件是CREATE , REMOVE , WRITE , RENAME和CHMOD )时监视目录和运行命令的工具。 根据许可。安装在下载二进制存档,解压缩并将适用于您平台的二进制可执行...

    -:Windows控制台常用命令

    PS:批量重命名 Get-ChildItem | Rename-Item -NewName {...} # 简单使用 'test_' + $_.name $_.name -replace '\.txt', '.pdf' # 正则匹配:aa(bb).cc --> bb.cc $_.name -replace '.*\((.*)\)\.', '$1.' CMD:...

    insightfl:用于构建最小烧瓶应用程序的基本模板

    InsightFL 用于构建最少的Web应用程序的基本模板。介绍InsightFL是一个基本的模板,专门... 在屏幕顶部的“设置”框中,重命名存储库,然后单击“ Rename 。 git clone git@github.com:<username>/<project>.git推荐:

    《python数据分析基础教程》.pdf

    获得⽬录中的内容 3.os.mkdir(path) 创建⽬录 4.os.rmdir(path) 删除⽬录 5.os.isdir(path) os.isfile(path) 判断是否为⽬录或者⽂件 6.os.remove(path) 删除⽂件 7.os.rename(old, new) 重命名⽂件或者⽬录 8.os....

    uninstall是安卓开发的一部分代码

    重命名 Rename shift + F6 shift + F6 抽取方法 Extract Method command + option + M control+alt+M 抽取变量 Extract Variable command + option + V control+alt+V 抽取字段 Extract Field command + option +...

Global site tag (gtag.js) - Google Analytics