使用unix命令重命名图像的名称

时间:2012-06-19 06:33:04

标签: ubuntu command-line

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

finalnfootok1.png
finalnodiabooks15.png
finalnpluggd17.png

现在我想从快速剪切字母“finaln”和最后一个图像中的数字。我可以使用ubuntu命令重命名图像名称。

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

2 个答案:

答案 0 :(得分: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个表达式。

答案 1 :(得分:0)

ls | grep finaln | awk '{print $1,$1}' | sed s/finaln// | awk '{print $2,$1}' | xargs -n 2 mv