#!/bin/bash function usage() { fscompare=`basename $0` echo "Usage: $fscompare [file1] [file2]" echo "Compares two files and lists their differences." echo echo "-h this help message." } compareFiles() { file1=$1 file2=$2 if [ -f ${file1} ] && [ -f ${file2} ]; then diff --unchanged-line-format= $file1 $file2 | awk '{print $3}' | uniq else echo "`basename $0`: files must exist" exit 1 fi } nargs=$# # Se o número de argumentos for 2, temos o comportamento default, # comparar os dois arquivos e listar suas diferenças. if [ ${nargs} -eq 2 ]; then BASEDIR=`pwd` else # Se o número de argumentos for diferente de 2, exibir mensagem de uso. usage fi # Se o arquivo não existe ou não é um diretório. if [ ! -e "$BASEDIR" ] || [ -f "$BASEDIR" ]; then echo "`basename $0`: '$BASEDIR' is not a directory" exit 1 fi compareFiles $1 $2