Advertisement
Guest User

Untitled

a guest
Jun 23rd, 2017
59
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.16 KB | None | 0 0
  1. #! /bin/bash
  2.  
  3. clear
  4.  
  5. #Primero obtenemos los parametros
  6.  
  7. while [ $1 ]
  8. do
  9.  
  10. if [ $1 == "-o" ] # Ordenacion
  11. then
  12. paramO=$2
  13. elif [ $1 == "-p" ] # Propietario
  14. then
  15. paramP=$2
  16. elif [ $1 == "-d" ] # Directorio
  17. then
  18. paramD=$2
  19. elif [ $1 == "-s" ] # Salida
  20. then
  21. paramS=$2
  22. fi
  23.  
  24. shift; shift
  25.  
  26. done
  27.  
  28. # Primera parte del script, la llamada a LS
  29.  
  30. list="ls -alisR"
  31. [ -n $paramD ] && list="$list $paramD"
  32.  
  33. # Segunda parte del script, la llamada a sort
  34.  
  35. order='sort --key='
  36.  
  37. case $paramO in
  38. 'u') order="$order"5 ;; # Ordeno por columna 5, user
  39. 't') order="$order"7" -g" ;; # Ordeno por columna 7, size
  40. 'n'|*) order="$order"1 ;; # Ordeno por columna 1, inode [DEFAULT]
  41. esac
  42. # Tercera parte del script, control de la salida
  43.  
  44. [ -z $paramS ] && paramS="/dev/stdout"
  45.  
  46. # Tercera parte del script, la llamada a grep para restringir usuarios
  47. # Incluye una segunda llamada a grep que elimina las lineas de error
  48.  
  49. {
  50. [ -z $paramP ] &&
  51. {
  52.  
  53. ($list)|($order)|
  54.  
  55. } ||
  56. {
  57. ($list)|($order)|( awk '$5==nom{ print $0 }' nom=$paramP )|()
  58. }
  59. } > $paramS 2> /dev/null #redireccion hacia el objetivo, sea stdout o sea archivo
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement