#!/bin/bash
#
#
#
FILE=/homeb/d54712/sandbox/scripts/data.d/lorem.txt
exec 3< $FILE # Create a new File Descriptor for STDIN from file
function trimline()
{
MAXLEN=$((LINELEN - 3))
if [ "${#1}" -le $LINELEN ]
then
echo "$1"
echo "Width: ${#1}"
else
echo "${1:0:${MAXLEN}} \\ "
fi
}
# STDIN from keyboard to get input for LINELEN
exec <&0
LINELEN=${1:-80} # if variable is undefined or null substitute with 80 (i.e ${var:-word})
# Redirect STDIN from FILE
exec <&3
while read myline
do
trimline "$myline"
#echo "$myline"
done
#debug
echo "LINELEN:$LINELEN"
echo "MAXLEN: $MAXLEN"
Results:
$ ./trimline.sh 30
Width: 0
rem ipsum dolor sit amet, c \
Morbi vestibulum sem in ege \
vehicula, eros ex dapibus a \
ante ipsum primis in faucib \
Maecenas porta pretium null \
tincidunt ut. Vivamus tempu \
lobortis. Phasellus quis mi \
ultricies nunc id imperdiet \
arcu tincidunt consectetur.
Width: 27
Width: 0
Phasellus urna ex, viverra \
scelerisque elit id varius \
Etiam at ligula at felis or \
Proin cursus, ipsum in vene \
vestibulum turpis sapien a \
risus lectus, quis faucibus \
augue vitae, elementum nunc.
Width: 28
Width: 0
LINELEN:30
MAXLEN: 27
No comments:
Post a Comment