Advertisement
Help Keep Boards Alive. Support us by going ad free today. See here: https://subscriptions.boards.ie/.
https://www.boards.ie/group/1878-subscribers-forum

Private Group for paid up members of Boards.ie. Join the club.
Hi all, please see this major site announcement: https://www.boards.ie/discussion/2058427594/boards-ie-2026

ZIP - skip large files?

  • 15-07-2007 11:18PM
    #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