Unix/linux bash prikaz na zoradenie

Všetko ohľadom Linuxu...
ddcp
Novice
Novice
Príspevky: 1
Registrovaný: 03 dec 2013, 14:00

Unix/linux bash prikaz na zoradenie

Príspevok od používateľa ddcp »

Zdravim.

Chcel som sa obratit na radu ohladne jednoho prikladu z Linux/Unix

Zobrazte do standardneho vystupu zoznam vsetkych suborov v adresari spolu
s pristupovymi pravami. Adresar, ktory sa ma zobrazit je uvedeni
ako nepoviny parameter skriptu. Zoznam suborov zoradte zostupne,
ak je zadany prepinac "-d". Ak je zadany prepinac "-a", tak
zoznam suborov je zadany vzostupne. Informacie, ktore neboli
zadane pomocou parameterov budu po spusteni skriptu vyziadane od pouzivatela.

zatial som sa dopracoval k tomuto

ls -R -l | tr -s " " | awk -F " " '{if ($3 =="meno") print "<" $ 3 "> <" $4 "> <" $9 ">";}'

viete mi niekdo poradit ako pri zadanych prepinacoch zoradit ten zoznam ?
Soviet
Darca
Darca
Používateľov profilový obrázok
Príspevky: 9631
Registrovaný: 20 okt 2006, 19:38
Bydlisko: Moskwa
Kontaktovať používateľa:

Re: Unix/linux bash prikaz na zoradenie

Príspevok od používateľa Soviet »

Z toho zadania mi nieje jasne co vlastne chces.

Co ma hodit output a podla coho ma byt zobrazeny. Podla mena zostupne/vzostupne, alebo podla velkosti?


Ja som skusil zrobit nieco for fun v korne, neviem ci ti z toho nieco pomoze, pre pripad, ked clovek zabudne vlozit nieco za script a teda sa ho to ma dozadovat. Nemam bohuzial casu sa nato mrknut blizsie, teda co sa tyka aj argumentov.

Kód: Vybrať všetko

#!/usr/bin/ksh

echo "Enter parameter for listing files/dirs (a/A d/D):

        a/A - alpha sorted
        d/D - reversed order
        "

read parameter

echo "Your input is:" $parameter
        sleep 2;

if [[ "$parameter" == [aA] ]];then
                echo "You are listing current directory `pwd`";
                ls -la |tail +4| awk '{print $1 "\t" $9}'

elif [[ "$parameter" == [dD] ]]; then
                echo "You are listing current directory `pwd`";
                ls -l1ra |tail +2| awk '{print $1 "\t" $9}'

else echo "You need to enter only a/A or d/D"
fi
Napísať odpoveď