44 lines
755 B
Bash
Executable File
44 lines
755 B
Bash
Executable File
#! /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
|