Advertisement
Help Keep Boards Alive. Support us by going ad free today. See here: https://subscriptions.boards.ie/.
If we do not hit our goal we will be forced to close the site.

Current status: https://keepboardsalive.com/

Annual subs are best for most impact. If you are still undecided on going Ad Free - you can also donate using the Paypal Donate option. All contribution helps. Thank you.
https://www.boards.ie/group/1878-subscribers-forum

Private Group for paid up members of Boards.ie. Join the club.

ZIP - skip large files?

  • 16-07-2007 12:18AM
    #1
    Registered Users, Registered Users 2 Posts: 2,364 ✭✭✭


    Is it possible to get zip to skip files over a specified size?
    I don't see anything in the man pages about it.


Comments

  • Closed Accounts Posts: 17,208 ✭✭✭✭aidan_walsh


    find ./ -size -xxk >> include.lst
    zip -r foo . -i@include.lst


  • Registered Users, Registered Users 2 Posts: 2,364 ✭✭✭Mr. Flibble


    -size xx seems to only return files of exactly xx size...

    edit: oops. no it doesn't.


  • Registered Users, Registered Users 2 Posts: 2,364 ✭✭✭Mr. Flibble


    Cheers for that Aidan.

    find -size seems to be measured in half KBs!
    and the ./ must be removed from the beginning of the file names.
    So here is a working script to zip any files that are less than 100kb from the current directory down.
    #!/bin/sh
    # Zip files of SIZE or smaller. Where SIZE is half kbytes
    SIZE=200
    find ./ -size -$SIZE | sed s#^./## >> includetmp.lst
    YEAR=`date +%Y`
    MONTH=`date +%m`
    DAY=`date +%d`
    zip -r backup$SIZE\_$YEAR$MONTH$DAY . -i@includetmp.lst
    


  • Registered Users, Registered Users 2 Posts: 354 ✭✭AndrewMc


    Yes, the sizes are in 512 byte "blocks". You can add suffixes (the most useful being c, k, M and G, for bytes, KB, MB and GB) rather than trying to remember to multiply by two :)


Advertisement