Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #! /bin/bash
- clear
- #Primero obtenemos los parametros
- while [ $1 ]
- do
- if [ $1 == "-o" ] # Ordenacion
- then
- paramO=$2
- elif [ $1 == "-p" ] # Propietario
- then
- paramP=$2
- elif [ $1 == "-d" ] # Directorio
- then
- paramD=$2
- elif [ $1 == "-s" ] # Salida
- then
- paramS=$2
- fi
- shift; shift
- done
- # Primera parte del script, la llamada a LS
- list="ls -alisR"
- [ -n $paramD ] && list="$list $paramD"
- # Segunda parte del script, la llamada a sort
- order='sort --key='
- case $paramO in
- 'u') order="$order"5 ;; # Ordeno por columna 5, user
- 't') order="$order"7" -g" ;; # Ordeno por columna 7, size
- 'n'|*) order="$order"1 ;; # Ordeno por columna 1, inode [DEFAULT]
- esac
- # Tercera parte del script, control de la salida
- [ -z $paramS ] && paramS="/dev/stdout"
- # Tercera parte del script, la llamada a grep para restringir usuarios
- # Incluye una segunda llamada a grep que elimina las lineas de error
- {
- [ -z $paramP ] &&
- {
- ($list)|($order)|
- } ||
- {
- ($list)|($order)|( awk '$5==nom{ print $0 }' nom=$paramP )|()
- }
- } > $paramS 2> /dev/null #redireccion hacia el objetivo, sea stdout o sea archivo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement