From 2c7d26fba8f61ce3e9896f1dc6b6cdcab0061a32 Mon Sep 17 00:00:00 2001 From: Chris Koeritz Date: Tue, 6 Apr 2021 17:16:29 -0400 Subject: [PATCH] calculates file's average line length this produces a total that includes blank lines in the average and another that excludes the blank lines. --- scripts/text/average_line_length.sh | 16 ++++++++++++++++ 1 file changed, 16 insertions(+) create mode 100644 scripts/text/average_line_length.sh diff --git a/scripts/text/average_line_length.sh b/scripts/text/average_line_length.sh new file mode 100644 index 00000000..da344382 --- /dev/null +++ b/scripts/text/average_line_length.sh @@ -0,0 +1,16 @@ +#!/bin/bash + +file="$1"; shift +if [ -z "$file" -o ! -f "$file" ]; then + echo This script needs a filename to operate on as a parameter. + echo The file will be examined and the average line length calculated. + exit 1 +fi + +cat "$file" | +awk ' { thislen=length($0); # printf("lines %-5s len %d total %d\n", numlines, thislen, totlen); + totlen+=thislen + if (thislen != 0) { numlines++ } } +END { printf("average line length: %d (no blank lines) or %d (counting blank lines)\n", totlen/numlines, totlen/NR); } ' + + -- 2.34.1