【问题标题】:linux shell script to remove digitslinux shell脚本删除数字
【发布时间】:2012-08-14 00:45:31
【问题描述】:

我想重命名 200 个文件 实际上每个文件的命名都是这样的:

00001-abcd-efgg?g.............
00002-xcvb-vbnv?b.............
00003-cbvc-hugh?j.............

现在我想像这样重命名所有这些文件:

001
002
003
...

所以我需要删除前 2 位数字,并删除第五位数字之后的所有内容。 警告:我要重命名的每个文件中都有一个“?”。

【问题讨论】:

标签: linux bash shell


【解决方案1】:
for f in *
do
   mv "$f" "${f:2:3}"
done

【讨论】:

    【解决方案2】:

    使用rename:

    rename -nv 's,.*(\d{3}).*,$1,' *
    

    输出:

    00001-abcd-efgg?g............. renamed as 001
    00002-xcvb-vbnv?b............. renamed as 002
    00003-cbvc-hugh?j............. renamed as 003
    

    当您对输出感到满意时,删除 n

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-25
      • 2014-06-27
      • 1970-01-01
      • 2012-06-27
      • 1970-01-01
      相关资源
      最近更新 更多