Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #!/bin/bash
- #Wykorzystując program grep, napisać skrypt powłoki zliczający pliki
- #określonego typu (pliki zwykłe, katalogi, pliki specjalne blokowe i
- #znakowe, FIFO, dowiązania symboliczne, gniazda) we wskazanym katalogu.
- #Zaproponować sposób podawania typu plików. Postać wywołania skryptu:
- if [ $1 = "--help" ]; then
- echo -e "Licznie plikow danego typu w katalogu.
- Składnia:
- licz_plik arg1 arg 2
- arg1 - nazwa katalogu do przeszukiwania
- arg2 - typ pliku
- Typy:
- -f - sprawdza, czy plik to plik zwykły,
- -d - sprawdza, czy plik to katalog,
- -c - sprawdza, czy plik to plik specjalny znakowy,
- -b - sprawdza, czy plik to plik specjalny blokowy,
- -p - sprawdza, czy plik to plik FIFO,
- -L - sprawdza, czy plik ma dowiązanie symboliczne
- -S - sprawdza, czy plik jest socketem
- Kody wyjścia:
- 1 - Skrypt wykonany pomyślnie
- -1 - Niepoprawna liczba argumentów
- -2 - Niepoprawny typ pliku
- "
- exit 0
- fi
- if [ $2 != "-f" -a $2 != "-d" -a $2 != "-c" -a $2 != "-b" -a $2 != "-p" -a $2 != "-L" -a $2 != "-S" ]; then echo "Niepoprawnie podany typ pliku"; exit -2; fi
- if [ $# -ne 2 ]; then echo "Niepoprawna liczba argumentów."; exit -1; fi
- #echo `ls $1`
- n=0
- file_names=`ls $1`
- for file_name in $file_names ; do
- if [ $2 $1/$file_name ] ; then
- n=`expr $n + 1`
- #echo -e "$file_name \n"
- fi
- done
- if [ $n = 0 ] ; then echo "Nie ma w tym katalogu plików określonego typu"
- else echo "W katalogu jest $n plików podanego typu"; fi
- exit 1;
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement