Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #(25 поени) UNIX командни процедури
- #Дадена е една текстуална датотека во TSV формат. Податоците кои се дадени се следни:
- #
- #Indeks Predmet Prezime Ime e-mail
- #
- #Датотеката се проследува како прв аргумент на скриптата.
- #
- #Ваша задача е да се обработи секоја линија од датотеката, така што за секој Predmet ќе се креира соодветен именик на локација (изворен #именик) која што е дадена како втор аргумент на скриптата. Во именикот да се креираат подименици именувани со индексите на оние #студенти кои го имаат запишано соодветниот предмет. Во секој подименик на студент да се креира датотека со екстензија .dat со #генералиите за студентот. Името на датотеката ќе биде Indeks на студентот, а содржината на датотеката информациите за студентот #испечатени секоја во нов ред.
- #
- #На почеток на скриптата направете проверка дали се проследени сите аргументи. Доколку не се, прикажете упатство за употреба и излезете #неуспешно. Доколку датотеката не постои или не е од tsv тип, скриптата треба да го извести корисникот за тоа и да заврши неуспешно. #Доколку изворниот именик не постои, скриптата треба да го извести корисникот за тоа и да заврши неуспешно. Изворниот именик не мора да #биде иницијално празен, може во него да има веќе креирани именици.
- #
- #Командната процедура зачувајте ја во домашниот именик под името zad4-t2.sh.
- #
- #
- #
- #!/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 '{ print $1; }'`
- predmet=`echo $line | awk '{ print $2; }'`
- if [ ! -d $2/$predmet/$index ]
- then
- mkdir -p $2/$predmet/$index
- echo `echo $line | awk '{ print $3;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk '{ print $4;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk '{ print $5;}'` >> $2/$predmet/$index/${index}.dat
- elif [ -d $2/$predmet/$index ]
- then
- echo `echo $line | awk '{ print $3;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk '{ print $4;}'` >> $2/$predmet/$index/${index}.dat
- echo `echo $line | awk '{ print $5;}'` >> $2/$predmet/$index/${index}.dat
- fi
- done
- IFS=$oldIFS
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement