Bash - jak wy

Potrzebujesz pomocy z C, C++, perl, python, itp.
dyschemist
Posty: 7
Rejestracja: 27 kwietnia 2008, 20:24
Lokalizacja: Łódź

Bash - jak wyłuskać element linijki ls -l

Post autor: dyschemist »

w moim skrypcie potrzebuje rozmiar danego pliku ...
wiem że wywołując
ls -l
-rw-r--r-- 1 dyschemist dyschemist 579 2008-04-27 21:27 /home/dyschemist/Pulpit/pliki/folder/plik
jak teraz wyłuskać ten rozmiar by dodawac do w kolejnych plikach??
for plik2 in `find "$1/"$plik -type f`
do
echo `ls -l $plik2`
done
chciałbym by ta petla jakoś sensownie dodawała te rozmiary..

aha ... rozwiązanie ls -s mnie nie interesuje bo mam wrażenie że jest dość nie dokłądne

ls -l wywołuje na pojedyńczym już pliku wiec linijka jest tylko 1
Awatar użytkownika
ruun
Member
Posty: 1366
Rejestracja: 29 marca 2007, 21:07
Lokalizacja: Kruszwica

Post autor: ruun »

Kod: Zaznacz cały

ls -l | awk '{print $5}'
dyschemist
Posty: 7
Rejestracja: 27 kwietnia 2008, 20:24
Lokalizacja: Łódź

Post autor: dyschemist »

okey fajnie ... ale jak to zrobić by to sie dało sumować w tej pętelce
salmon
Beginner
Posty: 296
Rejestracja: 12 października 2007, 23:28
Lokalizacja: Gliwice/Bielsko-Biała

Post autor: salmon »

Kod: Zaznacz cały

suma=0
for plik2 in `find "$1/"$plik -type f`
do
let suma+=`ls -l $plik2 | awk '{print $5}'`
done
echo $suma
dyschemist
Posty: 7
Rejestracja: 27 kwietnia 2008, 20:24
Lokalizacja: Łódź

Post autor: dyschemist »

ok podziałało , wielkie dzięki... ale zaraz pojawił sie kolejny problem ... próbuje analogicznie wybrać właściciela pliku i dostaje bład:
i od razu jeśli by można zapytać się jak zapisać taki 4 elementowy string do tablicy
let owner=`ls -l $plik | awk 'print $3}'`
tab[$i]=$suma $owner "-" $plik
salmon
Beginner
Posty: 296
Rejestracja: 12 października 2007, 23:28
Lokalizacja: Gliwice/Bielsko-Biała

Post autor: salmon »

dyschemist pisze:let owner=`ls -l $plik | awk 'print $3}'`
Doszliśmy do momentu, w którym można by wpisać w konsoli man bash i poszukać tam do czego służy słowo let... :p w tym wypadku go nie potrzebujesz.
dyschemist pisze:tab[$i]=$suma $owner "-" $plik
W tym momencie wartałoby przeczytać jakiś kurs programowania basha. Najpierw jakiś prosty: http://dief.republika.pl/ , a nieco później jakiś trudniejszy: http://tldp.org/LDP/abs/html/

W między czasie dowiemy się że wystarczy wpisać:

Kod: Zaznacz cały

tab[$i]="$suma $owner - $plik" 
dyschemist
Posty: 7
Rejestracja: 27 kwietnia 2008, 20:24
Lokalizacja: Łódź

Post autor: dyschemist »

dzięki ... znowu mnei ratujesz ... zaczynam przysypiać stąd spadek formy :)
ODPOWIEDZ