相关疑难解决方法(0)

批量重命名文件

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

image0001.png
image0002.png
image0003.png
...
Run Code Online (Sandbox Code Playgroud)

我想要一个单线将它们重命名为(比如说)。

0001.png
0002.png
0003.png
...
Run Code Online (Sandbox Code Playgroud)

我该怎么做呢?

shell bash rename

181
推荐指数
7
解决办法
20万
查看次数

通过增加文件名中的数字来重命名文件

我有一个包含编号图像文件的目录,如下所示:

01.png
02.png
03.png
03.svg
04.png
05.png
06.jpg
07.png
08.png
09.png
09.svg
10.png
Run Code Online (Sandbox Code Playgroud)

有时可出现不同格式文件的多个版本(例如一pngsvg版本0309文件以上),但数字是连续的,否则。通常每个目录中有 40-80 个这样的文件。这些数字对应于这些图像在手稿(Word 文档,但这并不重要)中出现的顺序。没有其他方法可以确定图像的顺序。

如果我在手稿中添加新图像,我需要在此目录中放置一个具有正确编号的图像副本。因此,如果新图像是手稿中的第五张,我需要将目录中的文件重命名为这个,以便为它腾出空间:

01.png
02.png
03.png
03.svg
04.png
06.png
07.jpg
08.png
09.png
10.png
10.svg
11.png
Run Code Online (Sandbox Code Playgroud)

从命令行或脚本或宏重新编号从某个数字开始的所有文件的最直接方法是什么?我有一个使用 bash 的标准 Fedora Linux 安装。

bash rename

20
推荐指数
2
解决办法
5万
查看次数

从文件名中删除前缀

我有一堆文件如下:

04602635_b0294.DAT20120807164534
04602637_b0297.DAT20120807164713
04602638_b0296.DAT20120807164637
04602639_b0299.DAT20120807164819
04602640_b0298.DAT20120807164748
04602641_b0300.DAT20120807164849
04602650_b0301.DAT20120807164921
04602652_b0302.DAT20120807164956
Run Code Online (Sandbox Code Playgroud)

我需要重命名它们以排除前缀。它需要看起来像这样..

b0294.DAT20120807164534
b0297.DAT20120807164713
b0296.DAT20120807164637
b0299.DAT20120807164819
b0298.DAT20120807164748
b0300.DAT20120807164849
b0301.DAT20120807164921
b0302.DAT20120807164956
Run Code Online (Sandbox Code Playgroud)

编辑

我忘了补充说我使用的是 Solaris。

solaris filenames rename

15
推荐指数
2
解决办法
1万
查看次数

重命名命令有哪些不同版本?如何使用 Perl 版本?

这真是一团糟。当我们期望 Perl 使用s///类似 sed 的语法重命名时,当有大量不同的 实现rename,并且大多数情况下是 Perl 的不同版本rename.ul(二进制)时,我如何知道使用哪个命令?

perl regular-expression rename

8
推荐指数
1
解决办法
2660
查看次数

批量重命名驼峰文件以包含空格

我正在尝试批量重命名以驼峰命名的文件,以在相邻的大写和小写字母之间包含空格。我使用的是 Mac OS,所以我使用的工具是 BSD 变体。

例如:

250 - ErosPhiliaAgape.mp3 => 250 - Eros Philia Agape.mp3
Run Code Online (Sandbox Code Playgroud)

我正在尝试使用以下命令find将相关文件传输到在子 shellmv中运行的文件sed

find . -name "*[a-z][A-Z]*" -print0 | xargs -0 -I {} mv {} "$(sed -E 's/([a-z])([A-Z])/\1 \2/g')"
Run Code Online (Sandbox Code Playgroud)

个别地,这些命令工作正常:find提取正确的文件并正确sed重命名它,但是当我将它们与 xargs 结合时,没有任何反应。

我需要改变什么才能使这项工作?

find xargs rename

6
推荐指数
1
解决办法
1480
查看次数

重命名文件以删除带括号的字符串

我有一组名称如下的文件:

Ace of Aces (Europe).mp4
Action Fighter (USA, Europe) (v1.2).mp4
Addams Family, The (Europe).mp4
Aerial Assault (USA).mp4
After Burner (World).mp4
Air Rescue (Europe).mp4
Aladdin (Europe).mp4
Alex Kidd - High-Tech World (USA, Europe).mp4
Alex Kidd in Miracle World (USA, Europe) (v1.1).mp4
Alex Kidd in Shinobi World (USA, Europe).mp4
Alex Kidd - The Lost Stars (World).mp4
Alf (USA).mp4
Alien 3 (Europe).mp4
Alien Storm (Europe).mp4
Alien Syndrome (USA, Europe).mp4
Altered Beast (USA, Europe).mp4
American Baseball (Europe).mp4
American Pro Football (Europe).mp4
Andre Agassi Tennis …
Run Code Online (Sandbox Code Playgroud)

rename files

3
推荐指数
2
解决办法
946
查看次数

标签 统计

rename ×6

bash ×2

filenames ×1

files ×1

find ×1

perl ×1

regular-expression ×1

shell ×1

solaris ×1

xargs ×1