-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