【问题标题】:rename the name of images using unix command使用 unix 命令重命名图像的名称
【发布时间】:2012-06-19 06:33:04
【问题描述】:

我有很多图片 (.png) 文件。现在我想重命名图像。图像名称是这样的

finalnfootok1.png
finalnodiabooks15.png
finalnpluggd17.png

现在我想从fast中删除字母“finaln”和最后一张图像中的数字。如何使用ubuntu命令重命名图像名称。

有没有办法在 ubuntu 的命令行中使用正则表达式重命名图像。我尝试使用重命名命令,但我不擅长使用 for 循环以及如何从图像中剪切字母。

【问题讨论】:

    标签: ubuntu command-line


    【解决方案1】:

    您可以一次性使用“sed”去除文件名:

    for f in finaln*
    do
        mv $f `echo $f | sed -e 's/finaln//g' -e 's/[0-9]*.png/.png/g'`
    done
    

    反引号 (`) 执行附带的命令 `echo filename | sed...` 第一个 sed 表达式将 finaln 替换为空。第二个 sed 表达式将“.png”之前的数字替换为空。您可能可以将它们组合成一个 sed,但作为 2 个表达式更容易理解。

    【讨论】:

    • 谢谢,我必须从图像文件名中删除数字。
    • 编辑添加了第二个 sed 表达式,将 .png 之前的数字替换为空。
    【解决方案2】:
    ls | grep finaln | awk '{print $1,$1}' | sed s/finaln// | awk '{print $2,$1}' | xargs -n 2 mv
    

    【讨论】:

      猜你喜欢
      • 2015-03-17
      • 2015-07-19
      • 2016-09-02
      • 1970-01-01
      • 2016-05-29
      • 1970-01-01
      • 1970-01-01
      • 2014-02-07
      • 2021-12-19
      相关资源
      最近更新 更多