100% Spam Free Email | Contact Us | Products/Services | Korn Shell | MicroEMACS


Mt Xia:
Technical Consulting Group

 

colrm_k93


Contact Mt Xia for help with your shell scripting projects at 615.556.0456 or dfrench@mtxia.com

Current:colrm_k93
Previous:
Home Page



#!/usr/bin/ksh93
################################################################
#### Program: colrm_k93
#### 
#### Description: Emulation of the Unix "colrm" colrmand
#### 
#### Author: Dana French (dfrench@mtxia.com)
####         Copyright 2004
#### 
#### Date: 07/22/2004
#### 
################################################################
# FPATH="."
function colrm_k93 {
  typeset TRUE="0"
  typeset FALSE="1"

  if [[ "_${1}" = '_-?' ]]
  then
    print -u 2 "Syntax: colrm_k93 [-f] [startcol [endcol]]"
    print -u 2 "        -f remove fields instead of columns"
    return 4
  fi

  typeset RMFIELD="${FALSE}"
  if [[ "_${1}" = '_-f' ]]
  then
    RMFIELD="${TRUE}"
    shift
  fi

  typeset STARTCOL="${1}"
  typeset ENDCOL="${2}"

  if (( RMFIELD == FALSE ))
  then
    while read -r -- COLS
    do
      print -r -n -- "${COLS:0:STARTCOL-1}"
      print -r -- "${ENDCOL:+${COLS:ENDCOL}}"
    done
  fi

  if (( RMFIELD == TRUE ))
  then
    while read -A -r -- COLS
    do
      ENDCOL="${2:-${#COLS[*]}}"
      for (( i = ( STARTCOL - 1 ); i <= ( ENDCOL - 1 ); ++i ))
      do
        unset COLS[${i}]
      done
      for COL in "${COLS[@]}"
      do
        print -r -n -- "${COL}	"
      done
      print
      unset COLS
    done
  fi
  return ${?}
}
################################################################

colrm_k93 "${@}"

 

For information regarding this page, contact Dana French ( dfrench@mtxia.com )
Copyright 2008 by Mt Xia Inc, All Rights Reserved