Skip to content

Instantly share code, notes, and snippets.

@serinuntius
Created September 20, 2018 01:51
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save serinuntius/896ad794254e91e936dd407f65e05146 to your computer and use it in GitHub Desktop.
Save serinuntius/896ad794254e91e936dd407f65e05146 to your computer and use it in GitHub Desktop.
unityのassetをいい感じにグルーピングして、ファイルサイズ出してくれるやつ
ls_results = `ls -alh`.split("\n")
regex = /([\w*(-|)]*\.unity3d$)/
def find_group(file_name)
regex2 = /([\w_]*)[_|-][\d\w]*.unity3d$/
regex2.match(file_name)
end
def find_file_size(line)
file_size = /([.\d]*)([KM])/
matched = file_size.match(line)
[matched[1],matched[2]]
end
file_name_group = {}
ls_results.each do |file|
file_name = regex.match(file)
if !file_name.nil? && file_name.length > 1
file_group = find_group(file_name[1])
if !file_group.nil? && file_group[1]
if file_name_group[file_group[1]]
size, unit = find_file_size(file)
file_name_group[file_group[1]] << {name: file_name[1], size: size, unit: unit}
else
size, unit = find_file_size(file)
file_name_group[file_group[1]] = []
file_name_group[file_group[1]] << {name: file_name[1], size: size, unit: unit}
end
end
end
end
file_name_group.each do |group,files|
size = 0
files.each do |f|
# puts "name: #{f[:name]}, size: #{f[:size]}"
size += f[:size].to_i
end
puts group + ", " + size.to_s
end
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment