|
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要 登录 才可以下载或查看,没有帐号?立即注册
x
欢迎大家来到仓酷云论坛!Dos/Windows下,对文件更名用rename。而书上说,Linux下对文件或目次更名该用mv。我一向也是如许做的,却疏忽了Linux下也有个叫rename的下令。都是rename,但功效上就有点差别了。Linux下的rename更像批量更名的工具,是util-linux套件中供应的。
1、基础功效
从mv和rename下令的man文档中,能够看到以下信息:
援用
mv-move(rename)files
rename-Renamefiles
也就是说,mv也能用于更名,但不克不及完成批量处置(更名时,不撑持*等标记的),而rename能够。
rename利用的格局:
$renamefoofoo0foo?
rename必要供应三个参数,然后才干决意终极了局。
摹拟一下man文档的例子,原文件:
援用
$foriin`seq100`;dotouchfoo$i;done
$ls
foo1foo18foo27foo36foo45foo54foo63foo72foo81foo90
foo10foo19foo28foo37foo46foo55foo64foo73foo82foo91
foo100foo2foo29foo38foo47foo56foo65foo74foo83foo92
foo11foo20foo3foo39foo48foo57foo66foo75foo84foo93
foo12foo21foo30foo4foo49foo58foo67foo76foo85foo94
foo13foo22foo31foo40foo5foo59foo68foo77foo86foo95
foo14foo23foo32foo41foo50foo6foo69foo78foo87foo96
foo15foo24foo33foo42foo51foo60foo7foo79foo88foo97
foo16foo25foo34foo43foo52foo61foo70foo8foo89foo98
foo17foo26foo35foo44foo53foo62foo71foo80foo9foo99
更名了局:
(白色是没有修改的,蓝色是有修改的一局部)
援用
$renamefoofoo0foo?
$ls
foo01foo100foo20foo30foo40foo50foo60foo70foo80foo90
foo02foo11foo21foo31foo41foo51foo61foo71foo81foo91
foo03foo12foo22foo32foo42foo52foo62foo72foo82foo92
foo04foo13foo23foo33foo43foo53foo63foo73foo83foo93
foo05foo14foo24foo34foo44foo54foo64foo74foo84foo94
foo06foo15foo25foo35foo45foo55foo65foo75foo85foo95
foo07foo16foo26foo36foo46foo56foo66foo76foo86foo96
foo08foo17foo27foo37foo47foo57foo67foo77foo87foo97
foo09foo18foo28foo38foo48foo58foo68foo78foo88foo98
foo10foo19foo29foo39foo49foo59foo69foo79foo89foo99
$renamefoofoo0foo??
$ls
foo001foo011foo021foo031foo041foo051foo061foo071foo081foo091
foo002foo012foo022foo032foo042foo052foo062foo072foo082foo092
foo003foo013foo023foo033foo043foo053foo063foo073foo083foo093
foo004foo014foo024foo034foo044foo054foo064foo074foo084foo094
foo005foo015foo025foo035foo045foo055foo065foo075foo085foo095
foo006foo016foo026foo036foo046foo056foo066foo076foo086foo096
foo007foo017foo027foo037foo047foo057foo067foo077foo087foo097
foo008foo018foo028foo038foo048foo058foo068foo078foo088foo098
foo009foo019foo029foo039foo049foo059foo069foo079foo089foo099
foo010foo020foo030foo040foo050foo060foo070foo080foo090foo100
该例子给出了两种文件批量重定名的用法:
援用
第一个参数:被交换失落的字符串
第二个参数:交换成的字符串
第三个参数:婚配要交换的文件形式
rename撑持通配符,基础的通配符有以下几个:
援用
?可替换单个字符
*可替换多个字符
[charset]可替换charset会合的恣意单个字符
2、其他例子
看看*的感化:
援用
$rm-f*
$foriin`seq100`;dotouchfoo$i;done
$renamefoofoo0foo*
$ls
foo01foo018foo027foo036foo045foo054foo063foo072foo081foo090
foo010foo019foo028foo037foo046foo055foo064foo073foo082foo091
foo0100foo02foo029foo038foo047foo056foo065foo074foo083foo092
foo011foo020foo03foo039foo048foo057foo066foo075foo084foo093
foo012foo021foo030foo04foo049foo058foo067foo076foo085foo094
foo013foo022foo031foo040foo05foo059foo068foo077foo086foo095
foo014foo023foo032foo041foo050foo06foo069foo078foo087foo096
foo015foo024foo033foo042foo051foo060foo07foo079foo088foo097
foo016foo025foo034foo043foo052foo061foo070foo08foo089foo098
foo017foo026foo035foo044foo053foo062foo071foo080foo09foo099
再看看[charset]的感化:
援用
$rm-f*
$foriin`seq100`;dotouchfoo$i;done
$renamefoofoo0foo[9]*
$ls
foo09foo099foo17foo26foo35foo44foo53foo62foo71foo80
foo090foo1foo18foo27foo36foo45foo54foo63foo72foo81
foo091foo10foo19foo28foo37foo46foo55foo64foo73foo82
foo092foo100foo2foo29foo38foo47foo56foo65foo74foo83
foo093foo11foo20foo3foo39foo48foo57foo66foo75foo84
foo094foo12foo21foo30foo4foo49foo58foo67foo76foo85
foo095foo13foo22foo31foo40foo5foo59foo68foo77foo86
foo096foo14foo23foo32foo41foo50foo6foo69foo78foo87
foo097foo15foo24foo33foo42foo51foo60foo7foo79foo88
foo098foo16foo25foo34foo43foo52foo61foo70foo8foo89
不难了解吧,找情况测试一下就分明了。用rename能够削减局部写for轮回的事情,仍是对照便利的。
欢迎大家来到仓酷云论坛! |
|