Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #Дадена е една текстуална датотека во CSV формат. Податоците кои се дадени се следни:
- #
- #Indeks, Predmet, Prezime, Ime, e-mail
- #
- #Ваша задача е да се обработи секоја линија од датотеката, така што за секој Indeks ќе се креира соодветен именик на локација која што #е дадена како прв аргумент на скриптата. Во именикот да се креира .dat датотека со генералиите за студентот. Името на датотеката ќе #биде Indeks вредноста, а содржината на датотеката информациите за студентот испечатени секоја во нов ред. Според името на предметот #Predmet треба да се креира посебен подименик во содветниот именик на студентот. Доколку во датотеката има повеќе линии кои почнуваат #со истиот индекс, тоа значи дека во веќе креираниот именик за студентот треба да се додадат подименици на соодветните предмети, друго, #ништо не се менува.
- #
- #На почеток на скриптата направете проверка дали се проследени сите аргументи. Доколку не се, прикажете упатство за употреба и излезете #неуспешно. Доколку изворниот именик не постои, скриптата треба да го извести корисникот за тоа и да заврши неуспешно. Изворниот именик #не мора да биде иницијално празен, може во него да има веќе креирани именици.
- #
- #Командната процедура зачувајте ја во домашниот именик под името zad4-t1.sh.
- #
- #Пример:
- #
- #123456,OS,Jankovski,Janko,janko@finki.ukim.mk
- #111111,SP,Petkovski,Petko,petko@finki.ukim.mk
- #123456,APS,Jankovski,Janko,janko@finki.ukim.mk
- #123444,OOP,Trajkovski,Trajko,trajko@finki.ukim.mk
- #
- #
- #
- #!/bin/bash
- #$1 = datoteka $2 = imenikToWrite
- if [ $# -lt 2 ]
- then
- echo "Input: file to readFrom, folderToWrite"
- exit 1;
- fi
- oldIFS=$IFS
- IFS=$'\n'
- for line in `cat $1`
- do
- index=`echo $line | awk -F, '{ print $1; }'`
- predmet=`echo $line | awk -F, '{ print $2; }'`
- echo "Index: $index"
- echo "Predmet: $predmet"
- if [ ! -d $2/$predmet/$index ]
- then
- mkdir -p $2/$predmet/$index
- echo `echo $line | awk -F, '{ print $3;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk -F, '{ print $4;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk -F, '{ print $5;}'` >> $2/$predmet/$index/${index}.dat
- elif [ -d $2/$predmet/$index ]
- then
- echo `echo $line | awk -F, '{ print $3;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk -F, '{ print $4;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk -F, '{ print $5;}'` >> $2/$predmet/$index/${index}.dat
- fi
- done
- IFS=$oldIFS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement