command line - 将10位数字移动到文件名的开头

分享于 

1分钟阅读

ubuntu

 

问题:

我需要重命名成千上万个文件,它们都包含一个以'42469'开头的10位数字,我需要将每个文件中的10位数字移动到文件名的开头,并添加一个下划线,例如:


Original - HOLZHEAUSER GAS UNIT_ 2_4246932863_2.pdf


Result - 4246932863_HOLZHEAUSER GAS UNIT_2_2.PDF



谁能帮助我?提前谢谢!


答案1:

使用mmv重命名带有通配符匹配的文件:


$ touch 'HOLZHEAUSER GAS UNIT_ 2_4246932863_2.pdf'


$ mmv '*_ ?_*_?.*' '#3_#1_#2_#4.#u5'




$ ls


'4246932863_HOLZHEAUSER GAS UNIT_2_2.PDF'




答案2:

你也可以用sed来做,此命令应该完全满足你的需要:


ls | sed -r 's/(.*) 2_(42469)([0-9]+)_2(.*)/"&""23_12_24"/' | xargs -L1 mv -v





COM  文件  COMM  Comma  命令行  MOV  
相关文章