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

Ubuntu 使用unix命令重命名图像的名称,ubuntu,command-line,Ubuntu,Command Line,我有很多图像(.png)文件。现在我想重新命名图像。图像名称如下 finalnfootok1.png finalnodiabooks15.png finalnpluggd17.png 现在我想从fast中删除字母“finaln”,从最后一张图片中删除数字。我如何使用ubuntu命令重命名图片名称 有没有办法在ubuntu的命令行中使用regex重命名图像。我尝试使用rename命令,但我不太擅长使用for循环以及如何从图像中剪切字母。作为一种方法,您可以使用“sed”来剥离文件名: for f

我有很多图像(.png)文件。现在我想重新命名图像。图像名称如下

finalnfootok1.png
finalnodiabooks15.png
finalnpluggd17.png
现在我想从fast中删除字母“finaln”,从最后一张图片中删除数字。我如何使用ubuntu命令重命名图片名称

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

作为一种方法,您可以使用“sed”来剥离文件名:

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

backticks(`)执行附带的命令`echo filename | sed…`第一个sed表达式将用零替换
finaln
。第二个sed表达式将“.png”之前的数字替换为零。您可能可以将这些内容组合成一个sed,但它更容易理解为两个表达式。

谢谢,我必须从图像文件名中删除数字。编辑后添加第二个sed表达式,该表达式可以将.png之前的数字替换为零。
ls | grep finaln | awk '{print $1,$1}' | sed s/finaln// | awk '{print $2,$1}' | xargs -n 2 mv