Advertisement
Guest User

Shell

a guest
Mar 29th, 2015
209
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.94 KB | None | 0 0
  1. #! /bin/bash
  2. # execute with bash mandatory
  3.  
  4. # Sa se scrie un fisier de comenzi care preia un fisier de intrare dat ca
  5. # parametru si creeaza din el un alt fisier (al carui nume este dat ca
  6. # parametru) in care pastreaza doar cuvintele care contin litere mici. Fisierul
  7. # se va ordona alfabetic. Daca in rezultat exista linii consecutive identice, se
  8. # va pastra doar una dintre ele.
  9.  
  10. if [ $# -ne 2 ]; then
  11.     echo "Give 2 parameters"
  12.     exit 1
  13. fi
  14.  
  15. if [ ! -f $1 ]; then
  16.     echo "First parameter must be a valid file name"
  17. fi
  18.  
  19. gr=`grep -Eno "\w*[a-z]\w*" $1`
  20. # get first line number
  21. line=(`echo $gr | grep -Eo "[0-9]+"`)
  22.  
  23. content=""
  24.  
  25. for cuv in $gr; do
  26.     # get next line number
  27.     new=(`echo $cuv | grep -Eo "[0-9]+"`)
  28.     # append word
  29.     if [ $line = $new ]; then
  30.         content=$content" "$cuv
  31.     else
  32.         line=$new
  33.         content=$content"\n"$cuv
  34.     fi
  35. done
  36.  
  37. content=`echo $content | sed -E "s/([0-9]+\:)//g"`
  38.  
  39. echo -e $content | uniq | sort > $2
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement