标签: batch-rename

具有不同结尾的批量/批量重命名文件(不更改结尾)

我的问题,我有一个包含许多不同文件的文件夹,例如:

xxxxxxxxx.avi       yyyyyyy.jpg         zzz.txt
Run Code Online (Sandbox Code Playgroud)

我想将它们重命名为

001.avi  002.jpg  003.txt
Run Code Online (Sandbox Code Playgroud)

它不适用于thunar rename,因为文件名的长度不同。

也许与rename 's/.*......,但我有点卡住了......

感谢您的任何建议

rename batch-rename

4
推荐指数
1
解决办法
344
查看次数

使用 .csv 批量重命名

我在一个位置有 700 个目录,我需要使用 .csv 文件重命名它们,如下所示:

我想用 Column_B 的条目替换 Column_A 的名称。

Column_A           Column_B

 F001               IC500
 F003               IC501
 F006               IC502
 F008               IC503
 ...                ...
Run Code Online (Sandbox Code Playgroud)

如何批量重命名目录?

command-line batch-rename csv

4
推荐指数
1
解决办法
1840
查看次数

批量/多重命名仅具有特定编号范围的文件

我有以下情况:

file01.ext
.
.
.
file99.ext
file100.ext
.
.
.
Run Code Online (Sandbox Code Playgroud)

我想(使用 rename )为文件 01-99 插入“0”(以便它们变成 000-099)但不修改大于 100 的文件。我应该使用哪个表达式以及学习正则的好资源是什么诸如此类的表达?

在 Windows 上,我会使用 Total Commander 的多重命名函数,它具有非常简单的重命名语法。对于 Ubuntu,该工具(多重重命名)是否有一些不错的替代方案?

command-line rename batch-rename

4
推荐指数
1
解决办法
1922
查看次数

如何更改目录中的文件扩展名

我在具有扩展名的目录中有许多文件。

.text(2)
.text(1)
Run Code Online (Sandbox Code Playgroud)

我想从扩展中删除数字,输出应该像

.text 
.text
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮助我使用 shell 脚本吗?我正在使用 CentOs 6.3。

command-line scripts files rename batch-rename

4
推荐指数
1
解决办法
1342
查看次数

使用“查找”重命名子文件夹中的所有 .txt 文件

我想重命名.txt文件夹中的所有文件。这个重命名确实.txt为我重命名:

rename 's/\.txt//g' *.txt -v
Run Code Online (Sandbox Code Playgroud)

但是当我想重命名所有子文件夹时

find ./ -type d -execdir rename 's/\.txt//g' *.txt -v ";"
Run Code Online (Sandbox Code Playgroud)

它告诉我:

Can't rename *.txt *: No such file or directory
Can't rename *.txt *: No such file or directory
...
Run Code Online (Sandbox Code Playgroud)

find ./ -type -d正确显示我当前和所有子文件夹。

为什么我有No such file or directory消息?

command-line bash batch-rename

4
推荐指数
1
解决办法
3865
查看次数

如何使用`rename`递归删除所有文件中的所有单引号?

标题说明了一切,是的,我知道有很多类似的问题,但我能找到的最接近的是删除“而不是 '。到目前为止我尝试过的是:

find -name "*'*" -type f | rename 's/\'//g'
Run Code Online (Sandbox Code Playgroud)

rename 's/[']//g'和其他一些变化。我找到了所有文件,但是当我通过管道将它发送到 时rename,我只是得到>提示并且必须Ctrl+C才能返回。我最近用这个更改了很多文件,它对任何特殊字符都起到了很好的作用,除了单引号。

command-line special-characters rename batch-rename

4
推荐指数
1
解决办法
2935
查看次数

如何将具有不同名称的多个文件重命名为 file1、file2、file3 等?

假设我的文件夹中有这些文件:

cat.txt
dog.txt
house.txt
tree.txt
Run Code Online (Sandbox Code Playgroud)

我想将它们全部重命名为这样的:

file1.txt
file2.txt
file3.txt
file4.txt
Run Code Online (Sandbox Code Playgroud)

这可以通过命令行完成吗?

我只看到有关重命名具有某种模式的文件的问题,例如 rename dog1.txtdog2.txt-> cat1.txtcat2.txt.

command-line bash rename batch-rename

4
推荐指数
1
解决办法
1192
查看次数

如何将目录中的文件名更改为随机生成的名称?

我有许多不同名称、不同长度的文件。这些文件的扩展名是 jpeg。

如何将文件的名称更改为随机生成的名称?

bash filename batch-rename

4
推荐指数
1
解决办法
4217
查看次数

将文件名中的一个字符与另一个交换

我有一个名为a_b-c-d-e-f.txt. 我想采用当前名称并交换破折号和下划线,使其变为a-b_c_d_e_f.txt.

我的直觉告诉我尝试renametr,但我遇到了这个问题。这是我目前的尝试

#!/bin/bash
for i in *.txt; do
  [ -f "$i" ] || break
  newFile=$(echo "$i" | tr '-' '_')
  cp "$i" $newFile
done
Run Code Online (Sandbox Code Playgroud)

有了这个,我结束了

a_b_c_d_e_f.txt
Run Code Online (Sandbox Code Playgroud)

这是 ab 之间不应该改变的部分。此外,破折号不一定总是在文件名中的那个位置。例如,它可能看起来像

a-b-c_d-e-f.txt
Run Code Online (Sandbox Code Playgroud)

或者像这样的任何组合。我希望他们翻转不管他们在名字中的位置。

command-line bash batch-rename text-processing

4
推荐指数
2
解决办法
636
查看次数

文件的顺序重命名

我找到了一个零填充数字文件名的答案,它可以很好地重命名文件名,如下所示:

1.jpg > 00001.jpg
2.jpg > 00002.jpg
.
.
.
9.jpg > 00009.jpg
Run Code Online (Sandbox Code Playgroud)

使用以下命令:

rename 's/\d+/sprintf("%05d", $&)/e' *.jpg
Run Code Online (Sandbox Code Playgroud)

但我的文件名不是数字。它们是一个字母数字序列,例如:a.jpg, b.jpg, c.jpg...... m.jpg

以与原始问题类似的方式,我想重命名这些,以便它们以正确的顺序显示。我该怎么做呢?

command-line regex perl rename batch-rename

3
推荐指数
1
解决办法
338
查看次数