flightgear/scripts/atis/words_per_line.sh

44 lines
755 B
Bash
Raw Permalink Normal View History

2022-10-20 20:29:11 +08:00
#! /bin/bash
##
##
if test "x$1" = "x-h" ; then
1>&2 echo "Usage: "
1>&2 echo " $0 [filename]"
1>&2 echo "Read words from input, treating all whitespace like,"
1>&2 echo "and write exactly N words per line on output."
1>&2 echo "Options: "
1>&2 echo " -n [N] specify N (default: 1)"
1>&2 echo " filename = '-' or '' ==> read from standard input"
exit 1
fi
: ${wordmax:=1}
files=""
while test -n "$*" ; do
this=$1 ; shift
case $this in
-n) wordmax=$1 ; shift
;;
*) files="$files $this"
;;
esac
done
awk '{
for (ii = 1; ii <=NF; ii++) {
printf ("%s", $ii);
words++;
if (words >= wordmax) {
print "";
words = 0;
} else {
printf (" ");
}
}
}' wordmax=$wordmax $files