'ls' sortiranje

mozda je pitanje malo glupo, ali citao sam man pages i sl. nisam mogao naci odgovor na sljedece pitanje.
Naime, kako pomocu ls komande dobiti output da izlistava prvo direktorije pa tek onda fajlova bez obzira na extenziju (naravno abecednim redom). Uspio sam nesto slicno dobiti ali nije to to. Naime ls -X radi nesto slicno onom sto mi treba, ali opet nije kako zelim. Jer u ‘-X’ izbacuje direktorije i fajlove bez extenzije prvo pa tek onda ostale.

Npr. MC lijepo izlistava fajlove, dakle prvo direktorije pa onda sve ostalo abecednim redom, kao i konqueor, ali zasto to nece ls? hm…

hvala na pomoci

Za prvu pomoc moze:

ls -Ul

[quote]Za prvu pomoc moze:

ls -Ul [/quote]

ls -Ul ?
evo bas sam sad probao, izbaci nesto da prostis, bezveze, nista ni s’ cim…

kako god okrenes ne dobije se ono sto trebam :rolleyes:

Hm, možeš koristiti:

ls -l | sed -n '2,$p'| sort

a sad moram vidjeti zašto mi je ovo funkcionisalo.

[quote]Hm, možeš koristiti:

ls -l | sed -n '2,$p'| sort [/quote]

ovo je vec malo bolje, samo sto ova komanda koju si ti napisao kod mene izlistava odvojeno foldere i fajlove (tj. prvo foldere, pa onda fajlove) ne sortirano, ali komanda ls | sed -n '2,$p' | sort izlistava ono sto treba ali malo “sasavo”. Prvo ispise fajlove super sortirane, pa onda foldere super sortirane i onda poslije toga, usere, jedno 10 slika koje imam u tom folderu izpise zadnje, zar ne bi i njih trebao ispisati gore na pocetku sa fajlovima?? :?:

Ma sve mi ovo cudno pravo, procitao sam citav manual, trazim citav dan po google-u i najvise me cudi sto niko izgleda ovo do sada ili nije primjetio ili je problem ovaj samo kod mene…
Na kraju krajeva najvise me cudi kako sam ‘ls’ nije napisan da “po defaultu” izbacuje prvo foldere pa onda fajlove (abecednim redom).

ali tnx anyway babysitter, nemoras se muciti dalje da sad pises neki kod zbog ovog, ko ga j…, valjda ce sljedeca verzija ls imati ovo kao standardnu opciju…

podzrav

Šta je ‘2,$p’ ? Kod mene ovo ne radi ništa. Napravio sam nešto ovakvo:

ls -l | sed -e 's/^d/ d/' | cut -c 50- | sort

ali mi sada nije jasno kako da natjeram sort da ne ignoriše razmake :slight_smile:

And what about this:

Tehnički dvije komande, ali šta koga briga :wink:

[quote]And what about this:

[/quote]

This does the thing :lol:

Iako je i suvise komplikovano svaka cast :wink:
nisam ja ni sumnjao :lol:

Nisam vidio da želiš abecednim redom.

Ja sam koristio drwxrwxrwx za sortiranje a onaj prvi red sto ls pokaze npr.(ukupno 7654) osiječeš sa sedom (sed -n ‘2,$p’)

Evo nešto malo brže (bez grep-a i sed-a)

Listanje direktorija:

find . -xtype d -maxdepth 1

-xtype f za obične datoteke, za ostalo pogledaj man stranicu;
-type (bez vodeceg x-a) ne lista symlink-ove.

P.S.
Nije zgoreg malo protumbati find komandu, pogotovo u kombinaciji sa xargs, npr.

find . -type d -maxdepth 1 | xargs chmod 755

(Postavlja drwxr-xr-x permisije na svim direktorijima unutar radnog direktorija) …

Mislim da je čovijek želio da sazna kako urediti pregled na koji je već navikao i da olakša sebi tipkanje. Iako nisam odmah skontao pitanje, prijedlog je da napraviš sebi alias na tu dugačku komandu tako da ne tipkaš uvijek sve nego samo npr: myls i on ti pokaže sadržaj koji želiš. Evo ukratko postupka :

alias myls='ls -l | grep "^d"; ls -l | grep "^[^d]"'

sada samo kucaš myls i dobit ćeš šta želiš.Najbolje da upišeš sebi taj red u .profile datoteku svog home direktorija, tako da imaš alias i nakon reebota.

Vedrane, sta dobijes sa sedom ? Kod mene radi tj. printa sve od 2 reda do $kraja.

Ok, radi :slight_smile: nisam odmah skontao čemu služi naredba (da odsječe ono “total”)

Kad već diskutujemo o skriptingu, zna li neko kako da “zloupotrijebimo” sort naredbu bez dodavanja stvari tipa “AAA” na početak? tj. onaj moj prijedlog pri čemu bi sort prvo prikazao linije koje počinju space-om, pa onda ostale. Zbunilo me je u sort(1), zašto naredba ima parametre -b, -i i slične kada se to podrazumijeva tj. uopšte se ne može isključiti ignorisanje nonprinting znakova? Bug in coreutils? :wink:

Da, ima malo zeznutu sintaksu. U ovom slučaju mi jedino naum pada separator -t" " u kombinaciji sa -k1,1. Znači probaj:

sort -t" " -k1,1

Posto sort defaultno koristi tab za odvajanje stupaca, ti space definiras sa -t" " pa onda sortiras samo prvi karakter sa -k1,1.
Nadam se da si to htjeo, a ako ne nije frka (ponekada je teze shvatit zadatak nego nac rjesenje:-) Skriptanje je ionako stvar isprobavanja i jedan problem se uvijek da rijesiti na vise nacina a svako ce to pokusati na svoj nacin da rijesi.

true