-1
我有一个包含巴纽以下列方式命名的图片的文件夹:视频生成与随机名称PNG框架 - Linux的
name_number.png
但是数量写在科学的方式(1,1E1,1E2) 。
我想创建一个视频,从命令行,这是他们所有的组合。
有没有Linux的命令考虑到学名?我应该使用命令重命名它们,然后生成视频吗?
我有一个包含巴纽以下列方式命名的图片的文件夹:视频生成与随机名称PNG框架 - Linux的
name_number.png
但是数量写在科学的方式(1,1E1,1E2) 。
我想创建一个视频,从命令行,这是他们所有的组合。
有没有Linux的命令考虑到学名?我应该使用命令重命名它们,然后生成视频吗?
使用Ruby可以解决这样说:
def rename_sci(name)
name.sub(/(\d+e\d+)/) do |m|
'%.0f' % $1.to_f
end
end
%w[
test_1e1.png
test_1e2.png
].each do |name|
puts '%s -> %s' % [
name,
rename_sci(name)
]
end
你在哪里得到的输出,如:
test_1e1.png -> test_10.png
test_1e2.png -> test_100.png
现在你可以很容易的实际重命名工具:
require 'optparse'
def rename_sci(name)
name.sub(/([0-9]+e[0-9]+)/) do |m|
'%.0f' % $1.to_f
end
end
options = {
dry_run: false
}
# Use OptionParser to add --dry-run option for testing
program = OptionParser.new do |op|
op.on('-y', '--dry-run', 'Dry run, no renaming actually occurs') do
options[:dry_run] = true
end
end
program.parse!(ARGV).each do |path|
new_path = rename_sci(path)
next if (path == new_path)
puts '%s -> %s' % [ path, new_path ]
next if (options[:dry_run])
File.rename(path, new_path)
end
然后你可以运行这个脚本,如:
rename_sci -y *.png
如果一切看起来不错,拉动-y
标志,让它撕裂!与往常一样,备份以防万一出现可怕的错误。
你需要给出比你在这里更好的例子,比如编辑你的问题并显示你拥有的所有不同品种的文件名的例子。什么产生这些名字?他们想要什么格式? – tadman
如果当你做'ls -1'时,文件以正确的顺序出现,就像它们在你的示例数据中那样,那么就没有什么可做的。我们可能需要查看更多包含您的科学编号的示例,以帮助每个tadman的评论。祝你好运。 – shellter
@tadman这个名字对所有人都是一样的。唯一的区别是名字。 – GVa