前两天,参加了一次面试,面试官问了这样一个问题:在一个目录下,有很多音频文件,文件名格式为”唱片名称_发行时间_歌手_歌曲名.MP3“,要求把所有的文件重命名为”歌曲名.MP3“。当时的想法是,用grep或sed命令替换由正则表达式匹配的“唱片名称_发行时间_歌手_”字符串,达到重命名的目的,现场却因不知道如何匹配汉字而没能答出来。
回来后,google了一下,linux中有个重命名的命令:rename,man rename后可以知道,rename命令带3个参数,可以给单个文件重命名,也可以批量文件重命名。rename可以结合通配符使用,基本的通配符有以下几个:
? 可替代单个字符;