Work10 REMARKS script file lab08 ask2-6 dirstat, create, deli, dirsplit, myfind

Σχετικά έγγραφα
Work12 REMARKS script file lab10 ask1-5 tabbing, ls2, urlparse, times, dates_correct

aapostol.scr2, scr2.kdeligia

Να διορθωθούν τα εξής αρχεία scr2.chgeorg, scr2.gmotsias, scr2.ngrammen. cat scr2.*

ΟΛΑ ΤΑ SCRIPT files πρέπει να είναι ΕΚΤΕΛΕΣΙΜΑ: $*, : ΟΛΑ - Η λίστα (ο πίνακας) με τα ορίσματα $# πλήθος παραμέτρων. one two third parameter

Work9 REMARKS script file MONAZYGA & MESOS OROS

Shell Scripts: loops / if / test

ΧΑΡΟΚΟΠΕΙΟ ΠΑΝΕΠΙΣΤΗΜΙΟ

ΜΑΘΗΜΑ 2, Έλεγχος ροής προγράμματος ΒΑΣΙΚΗ ΣΥΝΤΑΞΗ:

ΑΣΚΗΣΗ 2 -ΑΚΥΡΩΣΗ ΣΗΜΑΣΙΑΣ ΕΙΔΙΚΩΝ ΧΑΡΑΚΤΗΡΩΝ

1st exercise of work2 - REMARKS

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ Ι

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ I

echo "skelos c-" cat $arxeio egrep -i --color '^[^:]*:[^:]*:[^:]*:[[:digit:]]{3}:'

*? [xyz] [^xy] [!0-9] [:alpha:] [:digit:]

Επαναληπτικές Ασκήσεις

Θέµα 1 (15%): (απαιτούµενος χρόνος < 15 λεπτά)

Αβδέλαρου Κωνσταντίνα

Work3 - REMARKS. 1. OK 2. #A.

Λειτουργικά Συστήματα

"ΓΛΩΣΣΑ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΥ Η/Υ" (ΕΜ102), ΕΡΓΑΣΙΑ 1η

Λειτουργικά Συστήματα

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

wc -l <file1 10 ή να μετρήσω πόσες γραμμές δίνει μια οποιαδήποτε άλλη εντολή π.χ. η finger : finger wc -l 8

Λειτουργικά. Συστήματα Ι. Φ ρ ο ν τ ι σ τ ή ρ ι ο. Αριστείδης Ηλίας. Εργαστήριο Ηλεκτρονικών Υπολογιστών

Εισαγωγή στα Λειτουργικά Συστήματα

3. ΕΝΤΟΛΕΣ ΕΛΕΓΧΟΥ (Β' μέρος: switch και :? )

Σύνοψη είτε τις ολοκληρωµένες απαντήσεις

ΟΜΟΣΠΟΝΔΙΑ ΕΚΠΑΙΔΕΥΤΙΚΩΝ ΦΡΟΝΤΙΣΤΩΝ ΕΛΛΑΔΟΣ (Ο.Ε.Φ.Ε.) ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ ΕΠΑΝΑΛΗΠΤΙΚΑ ΘΕΜΑΤΑ 2019 Β ΦΑΣΗ

2 η Υλοποίηση του ΑΤΔ συνδεδεμένη λίστα με πίνακα Κόμβοι από δεδομένα και θέσεις πίνακα ????

Fortran και Αντικειµενοστραφής προγραµµατισµός.

ΑΤΣΑΛΑΚΗ ΞΑΝΘΟΥΛΑ ΕΡΓΑΣΤΗΡΙΟ 2

Work5 REMARKS Εργ4 - Ασκ 3 και Εργ5 - Ασκ 2,3,4

Εκφώνηση άσκησης. Η Κρεμάλα σαν παιχνίδι. Ανάλυση. Μέρος Α Αναφoρά, ανάλυση τακτικής. Υλοποίηση του παιχνιδιού «Κρεμάλα»

Εισαγωγή στον Προγραμματισμό Μάθημα 1: Βασική Πλοήγηση σε Linux CLI. Οκτώβριος 2016 Χ. Αλεξανδράκη

3ο Εργαστήριο Βασικές εντολές διαχείρισης αρχείων σε LINUX

Χρονικές σειρές 8 o μάθημα: ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ ΣΤΗ MATLAB (2)

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων

Μερικές άλλες χρήσιμες εντολές

Μερικές άλλες χρήσιμες εντολές

Η Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 6 Εντολές Επανάληψης Ασκήσεις. Γιώργος Λαμπρινίδης

Λειτουργικά Συστήματα

ΥΠΟΥΡΓΕΙΟ ΠΑΙΔΕΙΑΣ ΚΑΙ ΠΟΛΙΤΙΣΜΟΥ ΔΙΕΥΘΥΝΣΗ ΑΝΩΤΕΡΗΣ ΚΑΙ ΑΝΩΤΑΤΗΣ ΕΚΠΑΙΔΕΥΣΗΣ ΥΠΗΡΕΣΙΑ ΕΞΕΤΑΣΕΩΝ

$ vi pass Κλήση του vi για το αρχείο pass. $ vi pass. :wq

Εισαγωγή στα Λειτουργικά Συστήματα

Τεχνογλωσσία 8 Β' Εξάμηνο. Λογικός Προγραμματισμός Prolog. Άσκηση: Διορθωτής Εκφράσεων

Topic 2: Bash Shell Programming * K24: Systems Programming Instructor: Mema Roussopoulou

ΜΗΧΑΝΙΚΗ ΟΡΑΣΗ. 3η ΕΡΓΑΣΙΑ ΤΕΧΝΟΛΟΓΙΚΟ ΕΚΠΑΙΔΕΥΤΙΚΟ ΙΔΡΥΜΑ ΚΡΗΤΗΣ ΣΧΟΛΗ ΤΕΧΝΟΛΟΓΙΚΩΝ ΕΦΑΡΜΟΓΩΝ

ΠΑΓΚΑΛΟΣ ΙΩΑΝΝΗΣ ΣΙΣΜΑΝΗΣ ΝΙΚΟΣ. File Transfer Protocol

Υλοποιήσεις,Δοκιμές και Εφαρμογές Βασικών Αφηρημένων Τύπων Δεδομένων στη C για εκπαιδευτική χρήση 1. Ο ΑΤΔ ΔΕΝΔΡΟ

Οι Πράξεις. 1 η Υλοποίηση του ΑΤΔ: μονά συνδεδεμένη λίστα με δείκτες. Σχεδιασμός: Λίστα με Συνδεδεμένους Κόμβους

Σχεδιασμός: Λίστα με Συνδεδεμένους Κόμβους

ΕΠΛ031 - Εισαγωγή στον Προγραμματισμό

Βαθμός Σχόλια. lab PASS 1194 PASS 1238 PASS 1239 PASS

ΙΚΤΥΑ ΕΠΙΚΟΙΝΩΝΙΩΝ Εργαστηριακή Άσκηση 5 Επίδοση Τοπικών ικτύων 802.3

bab.la Φράσεις: Ταξίδι Τρώγοντας έξω ελληνικά-ελληνικά

Αποτελέσματα. ΜΟΔΙΠ Πανεπιστημίου Κρήτης Ερωτηματολόγιο 'Γλώσσα Προγραμματισμού ΙΙ' Ερωτηματολόγιο

Basic Missions

Η-Υ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ. Εργαστήριο 8 Ασκήσεις Πινάκων Ταξινόμηση Αναζήτηση. Γιώργος Λαμπρινίδης

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Πως δημιουργούμε ένα νέο αρχείο κειμένου; Με τρεις τρόπους:

9.2 Μελετώντας τρισδιάστατα γραφικά στο επίπεδο Oi sunartήseiv Contour Plot kai DensityPlot

Εισαγωγή στον Προγραμματισμό Python Μάθημα 3: πίνακες και βρόγχος επανάληψης for (για) Νοέμβριος 2014 Χ. Αλεξανδράκη, Γ.

Εισαγωγή στην Επιστήμη της Πληροφορικής Εργαστήριο. UNIX Μέρος 1

Δομημένος Προγραμματισμός

242 -ΕισαγωγήστουςΗ/Υ

Εισαγωγή στην Επιστήμη Υπολογιστών. Εισαγωγή στο Λ.Σ. UNIX

ΠΑΝΕΠΙΣΤΗΜΙΟ ΚΥΠΡΟΥ ΣΧΟΛΗ ΘΕΤΙΚΩΝ ΚΑΙ ΕΦΑΡΜΟΣΜΕΝΩΝ ΕΠΙΣΤΗΜΩΝ ΤΜΗΜΑ ΦΥΣΙΚΗΣ ΦΥΣ 145: Υπολογιστικές Μέθοδοι στη Φυσική Εαρινό Εξάµηνο 2019

ΕΙΣΑΓΩΓΗ ΣΤΟΥΣ ΑΛΓΟΡΙΘΜΟΥΣ ΚΑΙ ΣΤΟΝ ΠΡΟΓΡΑΜΜΑΤΙΣΜΟ

Λειτουργικά Συστήματα. Shell Programming

2.1. Οι λογαριασµοί χρηστών Σύνδεση (login) και αποσύνδεση (logout)

Generics και ArrayLists

Ενότητα 3: «Εισαγωγή στην Αλγοριθμική και στον Προγραμματισμό: loops, subroutines, tables»

7. ΕΙΣΑΓΩΓΗ ΣΤΙΣ ΣΥΝΑΡΤΗΣΕΙΣ

KATASTATIKO 3. XRHSIMOPOIHSH TVN OIKONOMIKVN MESVN, KOINH VFELEIA

10/2013. Mod: 02D-EK/BT. Production code: CTT920BE

Work4 REMARKS Μπορείτε να δείτε τις σελίδες. more ~vassik/work/work4/*

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 3o ΕΡΓΑΣΤΗΡΙΟ

ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ II. Υφαντόπουλος Νικόλαος Υποψήφιος Διδάκτορας Contact:

Λειτουργικά Συστήματα. Άσκηση Πράξη. Shell Programming

Κεφάλαιο 10 Διαχείριση Αρχείων και Καταλόγων

Ηλεκτρονικοί Υπολογιστές

4. ΒΡΟΧΟΙ ΕΠΑΝΑΛΗΨΗΣ (Α' μέρος: for)

Τμήμα Μηχανολόγων Μηχανικών Πανεπιστήμιο Θεσσαλίας ΠΡΟΓΡΑΜΜΑΤΙΣΜΟΣ Η/Υ. Αρχεία Δεδομένων. Ιωάννης Λυχναρόπουλος Μαθηματικός, MSc, PhD

Εργαστήριο Λειτουργικών Συστημάτων. Shell Programming

ΣΥΝΑΡΤΗΣΕΙΣ Παραδείγματα χρήσης συναρτήσεων ΟΡΙΣΜΟΣ ΣΥΝΑΡΤΗΣΗΣ ΜΕ ΕΠΙΣΤΡΟΦΗ ΤΙΜΗΣ #include <iostream.h> int compare_numbers(int num1, int num2)

Η ΕΕΧ στα MME. Επιστολή προς τον Πρωθυπουργό για τη χρήση δακρυγόνων. 22 Ιανουαρίου Επιμέλεια: Δρ Σπύρος Κιτσινέλης Υπεύθυνος Επικοινωνίας ΕΕΧ

Μεταφορά Αρχείων µε χρήση της Υπηρεσίας FTP σελ. 1

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ ΚΑΙ ΠΛΗΡΟΦΟΡΙΚΗΣ

ΤΕΙΘ ΣΤΕΦ - ΤΜΗΜΑ ΠΛΗΡΟΦΟΡΙΚΗΣ ΜΑΘΗΜΑ: ΕΙΣΑΓΩΓΗ ΣΤΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ

ΦΥΣ 145 Υπολογιστικές Μέθοδοι στη Φυσική. Πρόοδος 26 Μαρτίου 2007 Ομάδα 1 η

ΕΛΕΓΧΟΣ ΡΟΗΣ IF-ELSE

Πληρουορική Γ Γσμμασίοσ

ΜΑΘΗΜΑ: ΕΙΑΓΩΓΗ ΣΑ ΛΕΙΤΟΥΡΓΙΚΑ ΣΥΣΤΗΜΑΤΑ (UNIX) ΕΡΓΑΣΤΗΡΙΟ. 9o ΕΡΓΑΣΤΗΡΙΟ

Linux με τη χρήση κονσόλας

Χρονικές σειρές 5 o μάθημα: ΠΙΝΑΚΕΣ ΚΑΙ ΔΙΑΝΥΣΜΑΤΑ (2) Μ-Files

ΠΑΝΕΠΙΣΤΗΜΙΟ ΠΑΤΡΩΝ ΠΟΛΥΤΕΧΝΙΚΗ ΣΧΟΛΗ ΤΜΗΜΑ ΜΗΧΑΝΙΚΩΝ ΗΛΕΚΤΡΟΝΙΚΩΝ ΥΠΟΛΟΓΙΣΤΩΝ & ΠΛΗΡΟΦΟΡΙΚΗΣ

Ελληνική Δημοκρατία Τεχνολογικό Εκπαιδευτικό Ίδρυμα Ηπείρου. Προγραμματισμός Ι. Ενότητα 12 : Ασκήσεις Επανάληψης Β. Αλέξανδρος Τζάλλας

Είσοδος -Έξοδος. Άνοιγµα αρχείου:

#!/bin/sh #Εμφάνηση μενού του προγράμματος echo "Welcome to a shell implement of Game of Life"

Statistik gia PolitikoÔc MhqanikoÔc EKTIMHSH PAR

Transcript:

Work10 REMARKS script le lab08 ask2-6 dirstat, create, deli, dirsplit, mynd #LAB 8 : ASKHSH 2 -dirstat #File name: $0 #username : imanousi #To script elegxei ola ta arxeia mesa se enan fakelo #an ena arxeio einai aplo arxeio h fakelos #Akrws apokalyptiko script for entry in * #An to entry einai aplo arxeio... # tote... if [ -f "$entry" ] ; echo "$entry is a le" #...to entry einai aplo arxeio. #Alliws... #An to entry einai fakelos... #...tote... elif [ -d "$entry" ] ; echo "$entry is a le" #...to entry einai fakelos!! echo "$entry?!" #LAB 8 : ASKHSH 3.1 #File name : create.imanousi #username : imanousi #To script dhmiourgei arxeia me to onoma ths parametrou pou tha soume. #To plithos twn arxeiwn pou dhmiourgountai eisagetai apo ton xrhsth.

SOS #Edw kanoume kati pou den katalava ti akrivws einai #Ελέγχεις, αν ο αριθμός των παραμέτρων που δίνεται ισούται με 0, έτσι #Αν δεν δόθηκαν παράμετροι έχεις μήνυμα λάθους και βγαίνεις με exit (διάφορο του 0) π.χ. 1 if [ $# -eq 0 ]; echo "this is an error message" 1>&2 #το μήνυμα θα εμφανιστεί στην έξοδο λαθών #καλύτερα να λες και ποιο είναι το λάθος πχ. δεν έδωσες παράμετρο/όνομα #ΚΑΙ το πρόγραμμα σταματά ΔΕΝ ΠΑΕΙ ΠΙΟ ΚΑΤΩ- βγαίνει με exit code 1 #Eisafwfh plithous arxeiwn echo "Eisagete plithos arxeiwn pou thelete na dhmiourgisete" read n for ((i=1;i<=n;i++)) #Dhmiourgia touch $*$i #θα δίνεται μόνο μια παράμετρος η $1 επομένως touch "$1".$i echo dhmiourgia arxeiou "$*$i" #"$1.$i" vassik@aetos:~/work$./create.imanousi this is an error message #Mia megali apofash echo "Exete thn eykairia na diagrapsete ta arxeia pou dhmiourgisate!" echo "Thn ligoureveste???!!!" echo "Parakalw epilekste yes/no" #H wra ths krishs... read yn if [ $yn == yes ] [ $yn == y ] ; for ((i=1;i<=n;i++)) rm $*$i echo "Sygxaritiria! ta arxeia sas diafrakan!" #LAB 8 : ASKHSH 4 #File name : delle.imanousi

#username : imanousi #to script dexete ws orisma sthn gramh entolwn ena onoma arxeiou #kai to diagrafei. #elegxos gia yparksh orismatwn if [ $# -eq 0 ] ; echo "Den yparxoun orismata." >&2 #giati ta vazoume afta?? #αν δεν το βάλεις θα συνεχίσει πιο κάτω, και δεν το θέλουμε #elegxos gia yparksh arxeiou if [! -f "$1" ] ; echo "To $1 den einai arxeio." >&2 exit 2 # Μετά τα exit συνήθως, δεν χρειάζεται AΦΟΥ ΒΓΑΙΝΕΙ από το πρόγραμμα #H Diagrafh echo "Thelete sta alhthia na diagrapsete to arxeio $1 (yes/no)?" read yn if [ "$yn" == yes ] [ "$yn" == y ] ; rm "$1" echo "To arxeio $1 diagrake epityxws" #ΥΠΑΡΧΕΙ εντολή με όνομα dirsplit Δώστε man dirsplit #Μην τρέχετε οπου νάναι την άσκηση 5, και πάνε τα αρχεία σας δεν ξέρω που και τα χάσετε.. # Φτιάξτε ένα φάκελο επιλογή σας π.χ. movedir και βάλτε μέσα 5-6 άδεια αρχεία π.χ. aa ll ka ma za #LAB 8 : ASKHSH 5 #File name : dirsplit.imanousi #username : imanousi #To paron script #1. Dexetai ws orisma to onoma enos katalogou. #2. Dhmiourgei dyo ypokatalogous mesa ston arxiko katalogo. #3. Metakinei ta arxeia tou katalogou stous ypokatalogous. # Ston ena ta arxeia me onoma apo A-L kai ston allo ola ta ypoloipa.

#4. Emfanizei sthn othoni to plithos twn arxeiwn kathe katalogou. #Elεgxos gia yparksh parametrou if [ $# -eq 0 ] ; echo "Den yparxoun parametroi." >&2 #Ο αρχικός κατάλογος θα δίνεται στην παράμετρο "$1" π.χ. έστω ότι δίνουμε dirsplit online #α. Δεν ζητά να ελέγχεται αν το online υπάρχει (αν και θα ήταν λογικό) #β. Δεν λέει τι ονόματα θα δώσεις στους υποκαταλόγους, οπότε βάζεις ότι θέλεις #γ. Ζητά να ελέγχει, αν οι υποκαταλόγοι που θα δώσεις, υπάρχουν if [ -d "$1"/"$1".1 -o -d "$1"/"$1".2 ] ; echo "Oi katalogoi ${1}/${1}.1 h ${1}/${1}.2 yparxoun" >&2 exit 2 #Dhmiourgeia fakelou mkdir $1 #ΟΧΙ αυτός θα υπάρχει και θα έχει μέσα τα αρχεία που θα μεταφερθούν π.χ. aa ll ka ma za #Dhmiourgia ypofakelwn ston arxiko fakelo $1, με ονόματα.αρχικοςφάκελος.1 και.αρχικοςφάκελος.2 mkdir./${1}/.${1}.1./${1}/.${1}.2 #Metafora tw arxeiwn tou katalogou stous ypokatalogous (kryfoi) mv./${1}/[aa-l]*./${1}/.${1}.1 mv./${1}/*./${1}/.${1}.2 #H apokalypsh... mv./${1}/.${1}.1./${1}/${1}.1 mv./${1}/.${1}.2./${1}/${1}.2 #Emfanish plithous arxeiwn se kathe ypokatalogo echo -n "Arithmos arxeiwn ston katalogo $1 : " ls -l./$1 wc -l echo -n "Arithmos arxeiwn ston katalogo $1/${1}.1 : " ls -l./$1/${1}.1 wc -l echo -n "Arithmos arxeiwn ston katalogo $1/${1}.2 : " ls -l./$1/${1}.2 wc -l

#LAB 8 : ASKHSH 6 #File name : mynd.imanousi #username : imanousi #To script dexetai ws orisma ths grammhs entolwn to onoma enos arxeiou #kai elegxei an to arxeio ayto brisketai ston trexonta katalogo h se ypokatalogous #tou (prwtou epipeu). #O klasikos elegxos gia yparksh parametrwn if [ $# -eq 0 ] ; echo "Den yparxoun parametroi." >&2 if [ -f./"$1" ] ; echo "To axreio yparxei ston trexonta katalogo" `pwd` for i in * if [ -f./"$i"/"$1" ] ; echo "To arxeio $1 yparxei ston ypokotalogo $i : " `pwd`/"$i "

#!/bin/sh #Ergasia 8 -dirstat #Nikiforos Pertselis npertsel #------------------------------------ for i in * if test -d $i echo "$i is a directory" elif test -f $i echo "$i is a le" echo "$i is something " echo "Telos..." #!/bin/sh #dirstat #username: Kornilia Deligianni kdeligia # for i in * if [ -d $i ]; echo "$i is a directory" #μπαίνε μέσα με Tab, για να είναι ευκρινή τα If elif [ -f $i ]; echo "$i is a le" echo "$i is something " echo "Telos..."

#create #username: Kornilia Deligianni kdeligia # if [ $# -eq 0 ]; echo "den edwses parametro" 1>&2 for ((i=1;i<=50;i++)) touch "$1.$i" echo "dimiourgithike to arxeio '$1.$i'" #LAB8 : ASKHSH 2 -dirstat.$user #username: lrigouts for i in * if test -f "$i" ; echo "$i : einai arxeio" elif test -d "$i" ; echo "$i : einai fakelos" echo "$i : einai kati allo" #lrigouts -create.lrigouts #=============================================

if test $# -ne 1 ; echo " $0: O arithmos twn parametrwn den einai isos me 1" 1>&2 echo "Tha dhmiourgithoun 50 arxeia me to onoma tis parametrou pou sate" echo for ((i=1; i<51; i++)) touch "$1"$i echo "$1$i " #γράφε το ονομά σου - splatiot # dirstat.splatiot for i in "$PWD"/* ; #σχεδόν πάντα τις μεταβλητές μέσα σε " " if [ -d "$i" ] ; echo "\"$i\" is a Directory." elif [ -f "$i" ] ; echo "\"$i\" is a Regular File." echo "\"$i\" is not a Directory neither a File." #γράφε το ονομά σου - splatiot #create.splatiot if [ $# -gt 1 ] ; echo "$0:Too many parameters." 1>&2

temp=1 while [ $temp -lt 51 ] ; touch "$1".$temp temp=$((temp+1)) #γράφε το ονομά σου - splatiot #creator100.splatiot temp=1 while [ $temp -lt 101 ] #rm -i "$temp"le #rm gia remove//touch gia create. Bάζετε πάντα -i για επιβεβαίωση σβυσίματος # Nαι Bασικά εδώ θέλει πρώτα να δημιουργήσεις # 100 αρχεία και μετά να τα σβύσεις Αλλά αυτό που τον νοιάζει είναι το όνομα 1le, 2le ktl. temp=$((temp+1)) #γράφε το ονομά σου - splatiot #delle.splatiot if [ $#!= 1 ] ; echo "$0: Error during input, need only 1 parameter!" 1>&2 if [! -f "$1" ] ; echo "$0: Error,no matched le found for the according parameter." 1>&2

exit 2 answ=no echo "Are you sure u want to delete \"$1\" (yes/no)?" read answ while [ $answ!= yes ] && [ $answ!= no ] ; #APORIA!!! Ποια είναι η απορία?? echo "Choose:yes/no." read answ if [ $answ = yes] ; #αν και εδώ δεν ειναι απαραίτητο, μπορείς και [ "$answ" = "yes" ] rm "$1" #γράφε το ονομά σου - ngrammen #Lab 8 Askisi 2 -dirstat.ngrammen for entry in * if [ -d "$entry" ] echo "$entry is a directory" elif [ -f "$entry" ] echo "$entry is a kanoniko arxeio" echo "$entry is... an adeio arxeio" #είναι η περίπτωση πχ ενός Link σε αρχείο, που διαγράφη όπως το ~vassik/work/mylink

#γράφε το ονομά σου - ngrammen #lab8 Askisi 3.1 - create.ngrammen if [ $# -eq 0 ] echo Bale kamia parametro re trele 1>&2 for (( i=1; i<51; i++)) touch $0.$i #Ετσι θα δώσει create.ngrammen.1, create.ngrammen.2, κτλ. # θέλουμε touch "$1"$i δηλ. 1 η παράμετρος.1,κτλ. #γράφε το ονομά σου - ngrammen #lab8 Askisi 3.2 - createor100.ngrammen for (( i=0; i<100; i++)) touch "$i"le #γράφε το ονομά σου - ngrammen #askisi 4 ergasthrio 8 - delle.ngrammen if test $# -eq 0; echo "you must give a lename" 1>&2

if [! -f "$1" ] echo "Den iparxei ayto to arxeio" 1>&2 exit 2 echo "Thes na to diagrapseis? yes or no?" read answer if [ $answer = yes ] rm "$1" Τα αρχεία σου dirsplit.ngrammen και myng.ngrammen ΕΙΝΑΙ ΑΔΕΙΑ (size=0) #!/bin/sh #dirstat #username: aapostol # for i in * if [ -d "$i" ]; echo "$i is a directory" elif [ -f "$i" ]; echo "$i is a le" echo "$i is something " echo "Telos" #create #username:aapostol #

if [ $# -eq 0 ]; echo "den exei dw8ei parametro" 1>&2 for ((i=1;i<=50;i++)) touch "$1.$i" echo "$1.$i'" #!/bin/sh #dirstat #username: ksianidi for i in * if [ -d "$i" ]; echo "$i is a directory" elif [ -f "$i" ]; echo "$i is a le" echo "$i is something " echo "telos" #create #username:ksianidi if [ $# -eq 0 ]; echo "den exei dw8ei parametros" 1>&2

for ((i=1;i<=50;i++)) touch "$1.$i" echo "$1.$i' " #δεν το ζηταει, αλλά καλά το βάζετε, να βλέπετε και την τιμη "$1.$i" #delle #username: ksianidi if test $# -eq 0; echo "you must give a lename" 1>&2 if [! -f "$1" ] echo "Den uparxei to arxeio" 1>&2 exit 2 echo "Thes na to diagrapseis? (yes/no)" read answer if [ $answer = yes ] rm "$1" #mynd #username:ksianidi if [ $# -eq 0 ] ; echo "Den yparxoun parametroi." >&2 if [ -f./"$1" ] ; echo "To arxreio yparxei ston trexonta katalogo" `pwd`

for i in * if [ -f./"$i"/"$1" ] ; echo "To arxeio $1 yparxei ston ypokotalogo $i : " `pwd`/"$i " #!/bin/bash #ScriptFileName: $0 dirstat.vkiosses #Ergastirio8Ergasia10 for i in * if [ -d "$i" ] echo "$i is directory" elif [ -f "$i" ] echo "$i is le" echo "$i is something " #!/bin/bash #ScriptFileName: $0 create_test.vkiosses #Ergastirio8Ergasia10 #lab8asksisi3_1 if [ $# -eq 0 ] echo "Dose mono ena orisma" 1>&2

for ((i=1;i<=50;i++)) touch "$1".$i # echo "$1"."$i", δεν το ζητάει #!/bin/bash #ScriptFileName: $0 creator100.vkiosses #Ergastirio8Ergasia10 #Lab8Askisi3_2 for ((i=1;i<=100;i++)) touch "$i"le echo "An thelete na diagrapsete ta arxeia poy dimiourgisate pliktrologiste yes" read answer if [ $answer == yes ] rm -r *le #!/bin/bash #Ergasia10 dir_split.vkiosses #Lab8Askisi5 # Έστω $1="~vassik/work/sep" θα ελέγξειs, αν υπάρχει ήδη ~vassik/work/sep/dir1 και dir2 if [ -d "$1"/dir1 -o -d "$1"/dir2 ] #αν o φακελος dir1 ή ο dir2 υπάρχει, δεν κάνουμε κάτι -exit. echo "Ta onomata ton katalogon yparxoyn" 1>&2 #το νούμερο δεν παίζει ιδιαίτερη σημασία, αλλά κρατάμε μια σειρά 1,2,3 κτλ. #θα κάνουμε τους φακέλους ~vassik/work/sep/.dir1 και.dir2 mkdir./"$1"/.dir1./"$1"/.dir2 #θα μεταφέρουμε τα αρχεία mv./"$1"/[a-l]*./"$1"/.dir1 mv./"$1"/[m-z]*./"$1"/.dir2

# θα μετονομάσουμε mv./"$1"/.dir1./"$1"/dir1 mv./"$1"/.dir2./"$1"/dir2 echo -n "To plithos ton arxeion ston fakelo "$1/dir1" einai: " ; ls -l./"$1"/dir1 wc -l " echo -n "To plithos ton arxeion ston fakelo "$1/dir2" einai: " ; ls -l./"$1"/dir2 wc -l " #Den trexei Βασικό θεμα σου το./$1 αυτό σημαίνει ότι αν δώσεις #./dir_split.vkiosses /tmp #Θα ψάχνει για φάκελο $PWD/tmp Πήγαινε στο work τρεξε vk (η ασκηση σου διορθωμένη) : ls -l sep./vk sep ls -l sep #ScriptFileName: $0 delle.vkiosses #Ergasia10 #Lab8Askisi4 if [ $# -eq 0 ] echo "Bale ena orisma" 1>&2 if [! -f "$1" ] echo "to arxeio ayto, den yparxei" 1>&2 exit 2 echo "Ean theleis na diagrapseis to arxeio grapse yes" read answer if [ "$answer" == yes ] rm -r "$1" echo "To arxeio diagrake" echo "OK- To arxeio $1 den diagrake" #!/bin/bash

#ScriptFileName: $0 - mynd.vkiosses #Ergasia10 #Lab8Askisi6 if [ $# -eq 0 ] echo "Bale os orisma ena onoma arxeiou" 1>&2 if [ -f "./$1" ] echo -n "To arxeio $1 yparxei ston katalago:" ; pwd if [ -f "./[a-z]*/ "$1" ] #εδώ λίγο προσοχή το * δεν το βάζεις σε " " γιατί echo "*" δίνει * echo -n "To arxeio $1 yparxei ston katalogo:" ; ls -l./*/"$1" #lab8: askhsh 2 -dirstat.$user #ckaripia for i in * if [ -d "$i" ] echo "$i is a directory" if [ -f "$i" ] echo "$i is le" echo "$i is something " #!/bin/bash

#lab8 askhsh 3 -create.$user #ckaripia if [ $# -eq 0 ]; echo "this is an error message" >&2 for ((i=1;i<=50;i++)) ; touch "$1.$i" echo "dimiourgithike to arxeio '$1.$i'" echo "gia diagra twn arxeion patiste n" read n if [ $n == n ]; # KENA, δεν μπερδευεσαι έτσι με τα n? for ((i=1;i<=50;i++)); rm "$1.$i" #lab8: askhsh 3 - delle.ckaripia #username:ckaripia if [ $# -eq 0 ]; echo "den uparxoun orismata" >&2 if [! -f "$1" ]; echo "to $1 den einai arxeio" >&2 exit 2 echo "gia diagra arxeiou patiste n" read n if [ $n == n ]; #KENA rm "$1" echo "to $1 diagrake"

#lab8: askhsh5 -dirsplit.ckaripia #username:ckaripia if [ $# -eq 0 ]; echo "den uparxoun parametroi" >&2 echo "dwse onoma gia tous dio upofakelous" echo "o prwtos" read n echo "o deyteros" read m if [ d "$1"/"$n" -o -d"$1"/"$m" ]; echo "oi katalogoi den uparxoun " >&2 exit 3 mkdir./"$1"/."$n" "$1"/.$m mv "$1"/[aA-L]* "$1"/."$n" mv "$1"/* "$1"/."$m" #renaming mv "$1"/."$m" "$1"/"$m" mv "$1"/."$n" "$1"/"$n" Συνιστά η άσκηση αρχικά να κάνεις κρυφους καταλόγους,.n,.m ώστε με το * να μην μετακινηθούν και αυτοί. Μετα το mv, τους μετονομάζειs σε n, m echo "ta arxeia tou prvtoy ypokatalogou einai :" ls -l "$1"/"$n" wc -l echo "ta arxeia tou deyterou einai :" ls -l "$1"/"$m" wc -l exit 3 #lab8 askhsh6 mynd.ckaripia #username:ckaripia if [ $# -eq 0 ]; echo "den edwses parametrous" >&2 if [ -f "$1" ]; echo "to arxeio uparxei ston trexonta fakelo" `pwd`

for i in * if [ -f "$i"/"$1" ]; echo "to arxeio uparxei ston upokatalogo $i :" `pwd`/"$i"