Skip to content

Instantly share code, notes, and snippets.

@marioaquino
Last active December 21, 2015 05:49
Show Gist options
  • Save marioaquino/6259825 to your computer and use it in GitHub Desktop.
Save marioaquino/6259825 to your computer and use it in GitHub Desktop.
Given a file (input.txt) that looks like the one below, sum the sizes of the files and print out the values for each file.
1082129 tags/Quorum 1.7/quorum/dependencies/asm-4.0.jar
1379328 branches/Legam/resources/WindowsAccessibleHandler/WindowsAccessibleHandler/Debug/vc100.idb
1456844 branches/Legam/resources/WindowsAccessibleHandler/x64/Debug/WindowsAccessibleHandler.ilk
1463665 quorum/Run/Default.jar
1472874 tags/Quorum 1.7/QuorumCBCWrapper/BasicMain.jar
1478598 quorum/Run/Default.jar
1516213 quorum/Run/Default.jar
1546495 quorum/Run/Default.jar
1585813 quorum/Run/Default.jar
1603663 quorum/Run/Default.jar
1614787 quorum/Run/Default.jar
1633280 branches/Legam/resources/WindowsAccessibleHandler/Debug/WindowsAccessibleHandler.pdb
1636632 quorum/Run/Default.jar
1654451 branches/Jury/quorum/quorum/Run/Default.jar
1661947 quorum/Run/Default.jar
1887232 branches/Legam/resources/WindowsAccessibleHandler/WindowsAccessibleHandler/x64/Debug/vc100.idb
1906965 branches/1.0.1/quorum/dependencies/antlr-3.1.3.jar
2039465 quorum/Run/Default.jar
2054703 quorum/distribute/Default.jar
2079577 quorum/Run/Default.jar
2108416 branches/Legam/resources/WindowsAccessibleHandler/x64/Debug/WindowsAccessibleHandler.pdb
2108487 quorum/Run/Default.jar
2113968 quorum/Run/Default.jar
2131929 quorum/Run/Default.jar
2135504 quorum/Run/Default.jar
2136100 quorum/Run/Default.jar
2144090 quorum/Run/Default.jar
2154258 quorum/Run/Default.jar
2157638 quorum/Run/Default.jar
2159593 quorum/Run/Default.jar
2159837 quorum/Run/Default.jar
2163427 quorum/Run/Default.jar
2228530 quorum/Run/Default.jar
2242045 quorum/Run/Default.jar
2255611 quorum/Run/Default.jar
2262150 quorum/Run/Default.jar
2289869 quorum/Run/Default.jar
2312532 quorum/Run/Default.jar
2329692 quorum/Run/Default.jar
3543355 branches/1.0.1/quorum/installers/mac/Quorum 1.0.pkg
3589303 quorum/installers/windows/QuorumInstaller.exe
3741475 quorum/installers/mac/Quorum 1.5.pkg
3741716 tags/Quorum 1.7/quorum/installers/mac/Quorum 1.5.1.pkg
3807005 branches/StudyIDE/quorum/Quorum.jar
4524287 tags/Quorum 1.7/quorum/installers/mac/Quorum 1.6.pkg
5646105 quorum/installers/mac/Quorum 2.0.pkg
5647328 trunk/quorum/installers/mac/Quorum 2.0.pkg
5647352 quorum/installers/mac/Quorum 2.0.pkg
6009282 trunk/QuorumTomcat/dependencies/Quorum.jar
17268512 branches/1.0.1/quorum/installers/windows/jre-6u30-windows-x64.exe
20482266 branches/Jury/quorum/quorum/installers/windows/Quorum.exe
20482434 branches/1.0.1/quorum/installers/windows/Quorum.exe
36851712 branches/Legam/resources/WindowsAccessibleHandler/WindowsAccessibleHandler.sdf
36917248 AccessibilityNative/WindowsAccessibleHandler/WindowsAccessibleHandler.sdf
37048320 AccessibilityNative/WindowsAccessibleHandler/WindowsAccessibleHandler.sdf
37113856 trunk/AccessibilityNative/WindowsAccessibleHandler/WindowsAccessibleHandler.sdf
38096896 AccessibilityNative/WindowsAccessibleHandler/WindowsAccessibleHandler.sdf
67895296 branches/Legam/resources/WindowsAccessibleHandler/ipch/windowsaccessiblehandler-2f94f0ff/windowsaccessiblehandler-ab2984a1.ipch
83345288 tags/Quorum 1.7/quorum/installers/windows/jdk-7-windows-i586.exe
84144520 tags/Quorum 1.7/quorum/installers/windows/jdk-7-windows-x64.exe
93300120 trunk/quorum/installers/windows/jdk-7u21-windows-i586.exe
94973848 trunk/quorum/installers/windows/jdk-7u21-windows-x64.exe
files_sizes = Hash.new{|hash, key| hash[key] = [] }
IO.foreach('input.txt') {|line| (size, file) = line.split(/\s/); files_sizes[file] << size.to_i }
files_sizes.each_pair {|file, sizes| puts "#{sizes.reduce(&:+)} #{file}"}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment