razvanth21

T2

Nov 30th, 2019
228
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 0.95 KB | None | 0 0
  1. # Sa se scrie un shell script care primeste un fisier file in linia de comanda. Daca nu exista una rugment, se afiseaza mesaj de utilizare si se incheie executia.
  2. # Se citesc siruri de caractere de la tastatura (stdin) pana la intalnirea sirului "End". Se afiseaza acele siruri din lista ce reprezinta nr intregi strict pozitive pe masura ce sunt introduse.
  3. # Se calculeaza suma numerelor care au cel putin 3 cifre si se afiseaza aceasta suma. Daca file reprezinta numele unui fisier obisnuit, se scrie in file suma. Daca nu, se afiseaza un mesaj de eroare: file is not a regular file.
  4.  
  5. #! /bin/bash
  6.  
  7. if [ $# -ne 1 ]
  8. then
  9.     echo "Sintaxa: $0 <fisier>"
  10.     exit -1
  11. fi
  12.  
  13. if ! [ -f $1 ]
  14. then
  15.     echo "$1 is not a regular file."
  16.     exit -1
  17. fi
  18.  
  19. s=0
  20. while read -r str
  21. do
  22.     if [ "$str" = "End" ]
  23.     then
  24.         break
  25.     fi
  26.  
  27.     if [[ "$str" =~ ^[0-9]+$ ]]
  28.     then
  29.         echo $str
  30.         if [ ${#str} -gt 2 ]
  31.         then
  32.             s=$(($s + $str))
  33.         fi
  34.     fi
  35. done < /dev/stdin
  36.  
  37. echo $s > $1
Add Comment
Please, Sign In to add comment