#1
  1. No Profile Picture
    Registered User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Nov 2012
    Posts
    6
    Rep Power
    0

    How to calculate the largest directory excluded


    Hi,

    I just start up with PERL.And I got a question about if I've been given a zip file which has a lot of files and directories in it.I need to output the largest directory without including the subdirectories.How to sum all the files in the directory without summing the size of the subdirectory?
    Look forward to hearing from you.

    I need to make use of hash and regular expression.
  2. #2
  3. Contributing User
    Devshed Newbie (0 - 499 posts)

    Join Date
    Apr 2012
    Location
    spaceBAR Central
    Posts
    229
    Rep Power
    42
    Without unzipping the the zip file you can list the contents with the below command and then read/parse the .txt file to determine what you are looking for:
    Code:
    unzip -l file_name.zip > zip_contents.txt
  4. #3
  5. No Profile Picture
    Contributing User
    Devshed Novice (500 - 999 posts)

    Join Date
    Jun 2012
    Posts
    835
    Rep Power
    496
    I you want to do that in Perl, I think you will have to use some additional modules such as Archive::Zip (plus possibly some others), to read the content of the zipped archive file (in order to traverse the directory tree and find the largest directory), and then to extract the desired directory.

    Take a look at the documentation on this module on the CPAN: http://search.cpan.org/~adamk/Archive-Zip-1.30/lib/Archive/Zip.pm.
  6. #4
  7. 'fie' on me, allege-dly
    Devshed Supreme Being (6500+ posts)

    Join Date
    Mar 2003
    Location
    in da kitchen ...
    Posts
    12,889
    Rep Power
    6444
    Spacebar208's option might be the quickest, my understanding from what's written is to determine the detail without having to unzip the file

    The biggest directory will be the root as that's what contains all the files ... just my 0.02

    The fun will be aggregating the count of the subdirectories, to determine the largest
    --Ax
    without exception, there is no rule ...
    Handmade Irish Jewellery
    Targeted Advertising Cookie Optout (TACO) extension for Firefox
    The great thing about Object Oriented code is that it can make small, simple problems look like large, complex ones


    09 F9 11 02
    9D 74 E3 5B
    D8 41 56 C5
    63 56 88 C0
    Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
    -- Jamie Zawinski
    Detavil - the devil is in the detail, allegedly, and I use the term advisedly, allegedly ... oh, no, wait I did ...
    BIT COINS ANYONE
  8. #5
  9. No Profile Picture
    Contributing User
    Devshed Novice (500 - 999 posts)

    Join Date
    Jun 2012
    Posts
    835
    Rep Power
    496
    Originally Posted by Axweildr
    The biggest directory will be the root as that's what contains all the files ... just my 0.02
    Jaden said: the largest directory without counting the subdirectories.
  10. #6
  11. 'fie' on me, allege-dly
    Devshed Supreme Being (6500+ posts)

    Join Date
    Mar 2003
    Location
    in da kitchen ...
    Posts
    12,889
    Rep Power
    6444
    That makes it easier so ...
    --Ax
    without exception, there is no rule ...
    Handmade Irish Jewellery
    Targeted Advertising Cookie Optout (TACO) extension for Firefox
    The great thing about Object Oriented code is that it can make small, simple problems look like large, complex ones


    09 F9 11 02
    9D 74 E3 5B
    D8 41 56 C5
    63 56 88 C0
    Some people, when confronted with a problem, think "I know, I'll use regular expressions." Now they have two problems.
    -- Jamie Zawinski
    Detavil - the devil is in the detail, allegedly, and I use the term advisedly, allegedly ... oh, no, wait I did ...
    BIT COINS ANYONE

IMN logo majestic logo threadwatch logo seochat tools logo