qmv

qmv

我有一个充满图像的目录:

image0001.png
image0002.png
image0003.png
...

我想要一句俏皮话将它们重命名为(比如说)。

0001.png
0002.png
0003.png
...

我该怎么做呢?

答案1

在 Debian 及其衍生产品上,Perl 的rename命令行工作原理类似于sed这样:

  rename -v 's/image//' ./*.png

还有一个类似这样的renamefrom :util-linux

  rename -- image '' *.png

答案2

如果您使用的是 Bash 或其他 POSIX 兼容 shell:

for f in *.png; do
    mv -- "$f" "${f#image}"
done

答案3

zsh shell 有一个强大的批量重命名命令,称为zmv

首先,您需要启用zmv以下命令(这可以进入您的~/.zshrc)。

autoload zmv

基本语法是zmv PATTERN REPLACEMENT.该模式是一个 shell glob 表达式。模式的某些部分可以用括号括起来。替换文本可以包含$1$2等来引用模式中的第 N 个括号组。例如:

zmv 'image(*.png)' '$1'

您还可以要求 zsh 自动定义$1$2等来匹配模式中的通配符:

zmv -w 'image*.png' '$1.png'

答案4

qmv

该命令qmv打开renameutils一个编辑器,显示包含两列的文件名列表,以制表符分隔。每行显示一个文件名,两列中的文件名相同。右列代表文件的新名称。
要进行更改,请编辑右侧的名称。在这个例子中,:%s/...或者视觉块模式是有帮助的。

编辑器中的文件名

$ qmv *.png

在编辑器中:

image0001.png           image0001.png
image0002.png           image0002.png
image0003.png           image0003.png         
~                                             
~                                             
~                                             
~                                             
"/tmp/user/1000/qmvxWyVMs" 3L, 93C

编辑右列中的名称:(使用可视块模式从所有行中
删除前缀)image

image0001.png           0001.png
image0002.png           0002.png
image0003.png           0003.png         
~                                             
~                                             
~                                             
~                                             
:wq

重命名日志:

image0001.png -> 0001.png
image0002.png -> 0002.png
image0003.png -> 0003.png

(例如Ubuntu apt-get install renameutils:)

相关内容