(sed.info.gz) Reverse chars of lines
Info Catalog
(sed.info.gz) Print bash environment
(sed.info.gz) Examples
(sed.info.gz) tac
Reverse Characters of Lines
===========================
This script can be used to reverse the position of characters in
lines. The technique moves two characters at a time, hence it is
faster than more intuitive implementations.
Note the `tx' command before the definition of the label. This is
often needed to reset the flag that is tested by the `t' command.
Imaginative readers will find uses for this script. An example is
reversing the output of `banner'.(1)
#!/usr/bin/sed -f
/../! b
# Reverse a line. Begin embedding the line between two newlines
s/^.*$/\
&\
/
# Move first character at the end. The regexp matches until
# there are zero or one characters between the markers
tx
:x
s/\(\n.\)\(.*\)\(.\n\)/\3\2\1/
tx
# Remove the newline markers
s/\n//g
---------- Footnotes ----------
(1) This requires another script to pad the output of banner; for
example
#! /bin/sh
banner -w $1 $2 $3 $4 |
sed -e :a -e '/^.\{0,'$1'\}$/ { s/$/ /; ba; }' |
~/sedscripts/reverseline.sed
Info Catalog
(sed.info.gz) Print bash environment
(sed.info.gz) Examples
(sed.info.gz) tac
automatically generated byinfo2html