Nowe posty

Autor Wątek: Skrypt szukający wszystkie pliki użytkownika  (Przeczytany 3400 razy)

megotpelka

  • Gość
Skrypt szukający wszystkie pliki użytkownika
« dnia: 2009-11-09, 18:01:42 »
Witam!
Staram, się napisać skrypt, który dla danego konta sprawdza ile miejsca na dysku zajmują pliki przypisane do niego.
 
find / -user root -exes ls -l {}\\; | awk '{let "s += $5"} END {print #3, s/1024, "K"}'
Błąd:
find błędne wyrażenie -exes
awk line 2 : missing } near end of file
Co robię nie tak ?
Jak rozszerzyć ten skrypt, tak aby wyświetlał te dane dla wszystkich kont na danym komputerze ?

chmooreck

  • Gość
Skrypt szukający wszystkie pliki użytkownika
« Odpowiedź #1 dnia: 2009-11-09, 18:33:46 »
a może chciałeś napisać exec ?
P.S. Nie analizowałem tego, co napisałeś.

megotpelka

  • Gość
Skrypt szukający wszystkie pliki użytkownika
« Odpowiedź #2 dnia: 2009-11-09, 18:47:34 »
Oczywiście chodziło o -exec
Teraz dostaję błąd:
find brak argumentu dla -exec
awk line 2 : missing } near end of file

arctgx

  • Gość
Skrypt szukający wszystkie pliki użytkownika
« Odpowiedź #3 dnia: 2009-11-09, 21:21:39 »
Druga rzecz: nie chodziło Ci czasem o ls -l {} \\; zamiast Twojej wersji i $3 zamiast #3?

Swoją drogą, przeczytaj man find i man awk. Polecenie find posiada opcję -ls, dlatego nie musisz używać zewnętrznego polecenia ls. Posiada też opcję -xdev, która ograniczy Ci szukanie do jednego systemu pliku (praktyczne jeśli szukasz przyczyny, gdy kończy się wolne miejsce).

Nie prościej użyć kwot dyskowych?

man quota repquota