#! /bin/sh # ############################################################################# NAME_="samesize" HTML_="list files of same size" PURPOSE_="list files of same size in current dir" SYNOPSIS_="$NAME_ [-hl]" REQUIRES_="standard GNU commands" VERSION_="1.0" DATE_="2005-05-02; last update: 2005-05-02" AUTHOR_="Dawid Michalczyk " URL_="www.comp.eonworks.com" CATEGORY_="file" PLATFORM_="Linux" SHELL_="bash" DISTRIBUTE_="yes" # ############################################################################# # This program is distributed under the terms of the GNU General Public License usage() { echo >&2 "$NAME_ $VERSION_ - $PURPOSE_ Usage: $SYNOPSIS_ Requires: $REQUIRES_ Options: -h, usage and options (help) -l, list the script" exit 1 } # tmp file setup tmp_1=/tmp/tmp.${RANDOM}$$ # signal trapping and tmp file removal trap 'rm -f $tmp_1 >/dev/null 2>&1' 0 trap "exit 2" 1 2 3 15 # arg handling while getopts hl options; do case $options in h) usage ;; l) more $0; exit 1 ;; \?) echo >&2 invalid argument, type $NAME_ -h for help; exit 1 ;; esac done shift $(( $OPTIND - 1 )) # main for a in *;do f_size=$(set -- $(ls -l -- "$a"); echo $5) find . -maxdepth 1 -type f ! -name "$a" -size ${f_size}c > $tmp_1 [ -s $tmp_1 ] && { echo file with same size as file \"$a\": ; cat $tmp_1; } done