Advertisement
razvanth21

Untitled

Dec 2nd, 2019
312
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Bash 1.11 KB | None | 0 0
  1. # Sa se scrie un shell script care primeste un fisier file si unul sau mai multe nr (n1, n2, ..., nu trebuie verificat daca sunt numere), in linia de comanda.
  2. # Daca nu exista minim 2 argumente, se afiseaza mesaj de utilizare si se incheie executia. Daca file nu reprezinta numele unui fisier obisnuit, se afiseaza mesaj de eroare si se incheie executia.
  3. # Se verifica daca in file este un nr intreg strict pozitiv n, iar daca nu, se afiseaza un mesaj de eroare si se incheie executia.
  4. # Se calculeaza cate cifre are fiecare numar din linia de comanda care este divizibil cu numarul n, se insumeaza numarul de cifre si se afiseaza aceasta suma.
  5.  
  6.  
  7. #! /bin/bash
  8.  
  9. if [ $# -lt 2 ]
  10. then
  11.     echo "Usage: $0 <file> n1 n2 ..."
  12.     exit 1
  13. fi
  14.  
  15.  
  16. if ! [ -f $1 ]
  17. then
  18.     echo "$1 is not a regular file"
  19.     exit 1
  20. fi
  21.  
  22. nr=0
  23. while read line
  24. do
  25.     rez=`echo $line | grep -E '[0-9]+'`
  26.     if ! [ -z "$rez" ]
  27.     then
  28.         nr=$rez
  29.         break
  30.     fi
  31. done < $1
  32.  
  33. if [ $nr -ne -1 ]
  34. then
  35.     for i in "${@:2}"
  36.     do
  37.         if [ $(($i % $nr)) -eq 0 ]
  38.         then
  39.             c=$(($c + ${#i}))
  40.         fi
  41.     done
  42. fi
  43.  
  44. echo $c
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement