#! /bin/bash set -efu Cmd_name=${0##*/} if echo "$1" | grep -q -v -e '^[0-9][0-9]*$'; then echo ${Cmd_name}: "The first argument is not a number but \"$1\" >&2 exit 1 fi if test -z "${2:-}"; then input='-' else input="$2" fi expand ${input} | awk \ 'BEGIN { ref_length = '"$1"'; long_lines = 0; } length($0) > ref_length { printf "%s: line %d\tlength %d\n",'\ " \"$input\" "', FNR, length($0); long_lines++} END {if (long_lines > 0) { exit 0; } else { exit 1; } }'