Created
September 20, 2018 01:51
-
-
Save serinuntius/896ad794254e91e936dd407f65e05146 to your computer and use it in GitHub Desktop.
unityのassetをいい感じにグルーピングして、ファイルサイズ出してくれるやつ
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
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