通过删除子字符串重命名文件夹

通过删除子字符串重命名文件夹

我有一个文件夹列表video_0001 video_0002 video_0003...我如何将它们全部重命名为0001 0002 0003...?我试过了

mv video_{0001..0003} {0001..0003}但它不起作用

答案1

for您可以通过从每个文件的第 7 个字符开始(记住从 0 开始计数)并保存每个文件的最后 4 个字符来循环执行此操作。

for f in video_*; do mv $f ${f:6:4}; done

答案2

安装rename方式

sudo apt install rename

然后运行

rename s/video_// *

答案3

为了完整性:

  • 使用mmv(来自包mmv):

    mmv -n 'video_*' '#1'
    
  • zshzmv

     zsh
     autoload zmv
    
     zmv -n 'video_(*)' '$1'
    

在上述两种情况下,-n一旦您确认它正在做正确的事情,就可以将其删除。

更便携的 shell 循环:

    for f in video_*; do echo mv "$f" "${f#*_}"; done

类似地删除echo。请注意,#*_删除最短前缀;在您希望删除最长前缀的情况下,例如my_long_video_1234更改为##*_

相关内容