Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- # Sa se scrie un shell script care primeste care primeste un fisier file in linia de comanda. Daca nu exista un argument, se afiseaza mesaj de utilizare si se incheie executia.
- # Daca file nu reprezinta un fisier obisnuit, se afiseaza mesaj de eroare si se incheie executia.
- # Se citesc siruri de caractere de la tastatura (stdin) pana la intalnirea sirului "Stop". Se afiseaza acele siruri ce reprezinta o cale de director, pe masura ce sunt introduse.
- # Se parcurge nerecursiv fiecare director si se scrie in file numarul de legaturi simbolice care incep cu majuscula si nu contin cifre in numele lor, sub forma: director: n links.
- #! /bin/bash
- if [ $# -ne 1 ]
- then
- echo "Sintaxa: $0 <fisier>"
- exit -1
- fi
- if ! [ -f $1 ]
- then
- echo "$1 is not a regular file."
- exit -1
- fi
- c=0
- while read -r str
- do
- if [ "$str" = "Stop" ]
- then
- break
- fi
- if [ -d $str ]
- then
- for file in "$str"/*
- do
- # legatura simbolica
- if [ -L $file ]
- then
- # regex pt a incepe cu o majuscula si sa nu aiba cifre
- if [[ "$file" =~ ^[A-Z][^0-9]* ]]
- then
- c=$(($c + 1))
- fi
- fi
- echo "$file: $c legaturi" >> $1
- done
- fi
- done < /dev/stdin
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement