msgbartop
A chronological documentation test project, nothing serious, really!
msgbarbottom

04 Jun 2007 Bash shell script to reverse text file content

Posted by

Shell script to reverse text file contain i.e. concatenate files and print on the standard output in reverse. This script also demonstrate how to use arrays under bash shell script.

reverse-text-file.bash

#!/bin/bash
# Bash shell script to reverse text file contain i.e. concatenate files and
# print on the standard output in reverse. This script also demonstrate how
# to use arrays under bash shell script.
# -------------------------------------------------------------------------
# Copyright (c) 2005 nixCraft project 
# This script is licensed under GNU GPL version 2.0 or above
# -------------------------------------------------------------------------
# This script is part of nixCraft shell script collection (NSSC)
# Visit http://bash.cyberciti.biz/ for more information.
# -------------------------------------------------------------------------
FILE="$1"
if [ $# -eq 0 ]; then
  echo "$(basename $0) - file-name"
  exit 1
fi

textArray[0]="" # hold text
c=0 # counter
# read whole file in loop
while read line
do
  textArray[c]=$line # store line
  c=$(expr $c + 1) # increase counter by 1
done < $FILE
# get length of array
len=$(expr $c - 1 )

# use for loop to reverse the array
for (( i=$len; i>=0; i-- ));
do
  echo ${textArray[$i]}
done

Tags: ,

Comments are closed.