Board logo

标题: [问题求助] bash下如何把以1,2,3……开头的文件名替换为01,02,03……开头? [打印本页]

作者: s1978256    时间: 2016-2-21 22:37     标题: bash下如何把以1,2,3……开头的文件名替换为01,02,03……开头?

ubuntu中有一堆文件,1.avi,2.avi,3.avi……40.avi,每次显示时有点乱。我想把以1,2,3……开头的文件名替换为01,02,03……开头。如何用.sh来处理?求教
作者: ivor    时间: 2016-2-21 23:08

本帖最后由 ivor 于 2016-2-21 23:41 编辑

回复 1# s1978256
  1. #!/usr/bin/env python
  2. # Python 3.5.1
  3. # coding:utf-8
  4. # .avi后缀的文件,    名字不足3位的前面自动补0
  5. import os
  6. for file in os.listdir("."):
  7.      if file.endswith("avi"):
  8.         os.rename(file,file.zfill(7))
复制代码

作者: codegay    时间: 2016-2-22 00:05

Linux批量重命名 rename & mv http://www.cnblogs.com/longdouhzt/archive/2012/04/30/2477282.html
作者: codegay    时间: 2016-2-22 02:41

本帖最后由 codegay 于 2016-2-22 02:45 编辑
  1. root@debian:~/Desktop# rename 's/(.*.avi)/00$1/' *.avi
  2. root@debian:~/Desktop# ls
  3. 001.avi  002.avi  0033.avi
复制代码
所有avi 文件名前加两个00
作者: codegay    时间: 2016-2-22 03:20

  1. root@debian:~/Desktop# ls
  2. 01.avi  02.avi  303.avi  3.avi  4.avi
  3. root@debian:~/Desktop# rename 's/^(\d.avi)$/0$1/' *.avi
  4. root@debian:~/Desktop# ls
  5. 01.avi  02.avi  03.avi  04.avi  303.avi
复制代码
avi文件名只有一位数字的前面补0。




欢迎光临 批处理之家 (http://www.bathome.net/) Powered by Discuz! 7.2