我的问题,我有一个包含许多不同文件的文件夹,例如:
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/.*......,但我有点卡住了......
感谢您的任何建议
我在一个位置有 700 个目录,我需要使用 .csv 文件重命名它们,如下所示:
我想用 Column_B 的条目替换 Column_A 的名称。
Column_A Column_B
F001 IC500
F003 IC501
F006 IC502
F008 IC503
... ...
Run Code Online (Sandbox Code Playgroud)
如何批量重命名目录?
我有以下情况:
file01.ext
.
.
.
file99.ext
file100.ext
.
.
.
Run Code Online (Sandbox Code Playgroud)
我想(使用 rename )为文件 01-99 插入“0”(以便它们变成 000-099)但不修改大于 100 的文件。我应该使用哪个表达式以及学习正则的好资源是什么诸如此类的表达?
在 Windows 上,我会使用 Total Commander 的多重命名函数,它具有非常简单的重命名语法。对于 Ubuntu,该工具(多重重命名)是否有一些不错的替代方案?
我在具有扩展名的目录中有许多文件。
.text(2)
.text(1)
Run Code Online (Sandbox Code Playgroud)
我想从扩展中删除数字,输出应该像
.text
.text
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮助我使用 shell 脚本吗?我正在使用 CentOs 6.3。
我想重命名.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消息?
标题说明了一切,是的,我知道有很多类似的问题,但我能找到的最接近的是删除“而不是 '。到目前为止我尝试过的是:
find -name "*'*" -type f | rename 's/\'//g'
Run Code Online (Sandbox Code Playgroud)
或rename 's/[']//g'和其他一些变化。我找到了所有文件,但是当我通过管道将它发送到 时rename,我只是得到>提示并且必须Ctrl+C才能返回。我最近用这个更改了很多文件,它对任何特殊字符都起到了很好的作用,除了单引号。
假设我的文件夹中有这些文件:
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.txt、dog2.txt-> cat1.txt、cat2.txt.
我有许多不同名称、不同长度的文件。这些文件的扩展名是 jpeg。
如何将文件的名称更改为随机生成的名称?
我有一个名为a_b-c-d-e-f.txt. 我想采用当前名称并交换破折号和下划线,使其变为a-b_c_d_e_f.txt.
我的直觉告诉我尝试rename或tr,但我遇到了这个问题。这是我目前的尝试
#!/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)
或者像这样的任何组合。我希望他们翻转不管他们在名字中的位置。
我找到了一个零填充数字文件名的答案,它可以很好地重命名文件名,如下所示:
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。
以与原始问题类似的方式,我想重命名这些,以便它们以正确的顺序显示。我该怎么做呢?
batch-rename ×10
command-line ×8
rename ×6
bash ×4
csv ×1
filename ×1
files ×1
perl ×1
regex ×1
scripts ×1