• Keine Ergebnisse gefunden

Übungsblatt4:Shell-Skripte ÜbungenzuComputergrundlagenWS2018/2019

N/A
N/A
Protected

Academic year: 2021

Aktie "Übungsblatt4:Shell-Skripte ÜbungenzuComputergrundlagenWS2018/2019"

Copied!
2
0
0

Wird geladen.... (Jetzt Volltext ansehen)

Volltext

(1)

Übungen zu Computergrundlagen WS 2018/2019

Übungsblatt 4: Shell-Skripte

16. November 2018

Allgemeine Hinweise

• Abgabetermin für die Lösungen ist Freitag, 23.11.2017, 11:00 Uhr

• Schickt die Lösungen bitte per Email an Euren Tutor:

Montag 14:00–15:30: Grant Cates (gcates@icp.uni-stuttgart.de) Dienstag 9:45–11:15: Kai Szuttor (kai@icp.uni-stuttgart.de)

Dienstag 15:45–17:15: Julian Michalowsky (jmichalowsky@icp.uni-stuttgart.de) Mittwoch 15:45–17:15: Michael Kuron (mkuron@icp.uni-stuttgart.de)

Donnerstag 9:45–11:15: Johannes Zeman (zeman@icp.uni-stuttgart.de)

• Die Übungen sollen in Gruppen von jeweils zwei bis drei Leuten bearbeitet werden. Abgaben von Einzelpersonen werden nicht akzeptiert. Bitte gebt nur eine Lösung pro Gruppe ab und nennt in eurer Abgabe alle Mitglieder eurer Gruppe!

Aufgabe 4.1: Skript (2 Punkte)

Sieh Dir folgendes (sehr) kurzes Bash-Skript an:

#! / b i n / b a s h

if [ " $ (( $ R A N D O M % 2)) " - eq 1 ]; t h e n

e c h o " Z "

e l s e

e c h o " K "

fi

4.1.1 (1 Punkt) Welche Bedeutung hat das Prozentzeichen in obigem Skript?

4.1.2 (1 Punkt) Welche Aufgabe erfüllt das Skript?

Aufgabe 4.2: Webmaster (5 Punkte)

Ein typischer Webserver erzeugt Logdateien, die jeden Zugriff durch Zeilen der Form

127.0.0.1 - - [24/Mar/2018:16:56:12 -100] ‘‘GET http://www.google.de HTTP/1.1’’ 200 2459 IP - - [Timestamp Zone] ‘‘Command Webpage Format’’ Returncode size

dokumentieren. Hieraus lässt sich sehr gut analysieren, welche Seite wie oft von wem aufgerufen wurde.

Schreibe ein Skript analyze_log.sh, das als einzigen Parameter den Namen einer solchen Logdatei bekommt. Danach soll es zu dieser Logdatei folgendes ausgeben:

1

(2)

4.2.1(1 Punkt) Wie vieleverschiedeneWebseiten angefragt wurden. Die Webseite steht immer in der 7. Spalte.

4.2.2(2 Punkte) Wie oft jede Webseite aufgerufen wurde. Suche dazu zunächst heraus, welche Webseiten es überhaupt gibt. Schreibe anschließend eine Schleife, die für jede Webseite die Anzahl der Aufrufe ausgibt.

4.2.3 (2 Punkte) Wie viele Daten insgesamt beim Abrufen aller geloggten Webseiten übertra- gen wurden. Die Größe der übertragenen Daten soll in Megabyte ausgegeben werden. In der Logdatei gibt die letzte Spalte die Größe der für die jeweilige Webseite übertragenen Daten in Bytes an.

Hinweise:

• Um Dein Skript zu testen, kannst Du die Datei/group/cgl/2018/04/server.logverwenden.

• Wenn Ihr in Schritten vorgeht, ist es einfacher.

• Hilfreiche Werkzeuge für diese Aufgabe sind sort,wc,grep,awk(undman)

• Mithilfe von awk können zum Beispiel einzelne Spalten aus einer Datei gelesen werden. Der folgende Programmausschnitt gibt die 2. Spalte aus der Datei Textdatei wieder:

awk ’{ p r i n t $2 } ’ T e x t d a t e i

Als Standard-Trenner für Spalten verwendet awk Leerzeichen. Beachte, dass es mit einem ge- eigneten awk-Befehl auch möglich ist dien-letzte Spalte auszugeben.

• awkist sehr mächtig und kann beispielsweise auch Berechnungen durchführen.

Aufgabe 4.3: Audiospur aus Online-Video (3 Punkte)

Kopiere Dir die Datei/group/cgl/2018/04/list.dat. Diese Datei enthält je Zeile einen erwünsch- ten Dateinamen (ohne Dateiendung), gefolgt von einem Online-Videolink. Schreibe ein Skript, das als einzigen Parameter den Namen einer solchen Datei (Linkliste) bekommt. Das Skript soll die Audiospuren sämtlicher in der Datei aufgeführten Online-Videos herunterladen, in das mp3-Format konvertieren und jeweils unter dem erwünschten Dateinamen (mit sinnvoller Dateiendung) abspei- chern.

Hinweise:

• Online-Videodateien (bzw. ihre Audiospuren) können mit dem Kommandozeilen-Programm youtube-dl heruntergeladen werden. Audiospuren werden in der Regel im m4a-Dateiformat abgespeichert.

• Zur Konvertierung von Audio- und Videodateien kann das Programmffmpegbenutzt werden.

Hier kann die Verwendung des Arguments-nostdinnötig sein, um zu verhindern, dassffmpeg aus der Standardeingabe ließt.

• Wie gewöhnlich helfen man und Internetrecherche. Letztere kann beispielsweise helfen heraus- zufinden, wie man in Bash-Skripten Dateien zeilenweise einlesen kann etc.

2

Referenzen

ÄHNLICHE DOKUMENTE

mit den vorliegenden Arbeitsblättern wird der Versuch unternommen, eine Wissens- lücke der meisten jugendlichen Schüler* zu schließen – und Vorurteilen zu begegnen. Was sie wissen,

[r]

Thema: Sprache, Medien, Lesen und Literatur Aufgabenart: Analyse eines pragmatischen Textes. D2019_H4_EWH - nur für Lehrkräfte - Seite 5 von 6 Die Arbeit wird im

• Falls ein Muster passt, wird die entsprechende Liste ausgeführt und kein weiteres Muster wird überprüft (wenn ;; am Ende der Liste benutzt wird, es gibt auch noch

• Falls ein Muster passt, wird die entsprechende Liste ausgeführt und kein weiteres Muster wird überprüft (wenn ;; am Ende der Liste benutzt wird, es gibt auch noch

Lesen aus der Datenbank, falls Daten nicht im Cache stehen Schreiben in die Datenbank, falls Platz im Cache benötigt wird Ständiges Sichern in die Logdatei... Logdatei

real time time elapsed on the clock system time processor time in system calls. user time processor time in other portions

f) H¨angen Sie den Inhalt der Datei indexBin an die Datei index an. Sortieren Sie die Datei index nach Pro- grammnamen, wobei Sie eine neue Datei index.sortiert erzeugen, die