Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Sa se scrie un shell script care primeste in linia de comanda unul sau mai multe nume de cale. Daca nu exista cel putin un argument se afiseaza mesaj de utilizare si se incheie executia
- # Pentru fiecare nume de cale care nu este director, se afiseaza cate un mesaj corespunzator si se continua executia.
- # Se parcurge nerecursiv fiecare director dat si, pt fiecare fisier obisnuit intalnit se numara liniile cu propozitii. O propozitie incepe cu majuscula si contine doar litere sau caracterul spatiu. Rezultatele se afiseaza sub forma: file: n lines.
- # Se afiseaza nr de legaturi simbolice din fiecare director dat, de aceasta data fara a parcurge directorul, sub forma: dir: n links.
- #! /bin/sh
- if [ $# -lt 1 ]
- then
- echo "Sintaxa: $0 <cale1> <cale2> ..."
- exit -1
- fi
- for i in "$@"
- do
- if [ ! -d $i ]
- then
- echo "$i nu este director"
- else
- for e in "$i"/*
- do
- if [ -f $e ]
- then
- c=0
- while read line
- do
- if [ "$line" =~ '^[A-Z][a-zA-Z ]*' ]
- then
- c=$(($c + 1))
- fi
- done < $e
- echo "$e: $c lines"
- fi
- done
- links=`ls -l | grep '^l[-r]' | wc -l`
- echo "$i: $links links"
- fi
- done
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement