#!/usr/bin/env sh # YES_ZSH # YES_BASH # YES_DASH # YES_ASH # YES_BB_AWK # YES_OT_AWK countdiff() { ### @- ### count the number of lines changed between two files. ### ### **TODO:** don't use git for this. also, use patience algorithm. ### ### ``` ### $ countdiff README-old.md README.md ### 739 ### ``` [ $# -gt 1 ] || { printf "%s\n" "$0: too few arguments" >&2; return 1; } [ $# -le 2 ] || { printf "%s\n" "$0: too many arguments" >&2; return 1; } git --no-pager diff --stat --no-color --no-index "$1" "$2" \ | awk ' /changed/{print $4+$6;a=1}END{if(!a)print 0}' } [ -n "${preload+-}" ] || countdiff "$@"