und Grepmechanismus unter UNIX

Slides:



Advertisements
Ähnliche Präsentationen
Algorithmen und Datenstrukturen
Advertisements

Algorithmen und Datenstrukturen
Die Installation von Windows 95 erfordert etwas Vorarbeit: Als erstes müssen Sie mit einer Windows 95 Startdiskette den Computer booten.... Dabei wird.
PC-Senioren Ludwigsburg
Ausführen.
Polynomial Root Isolation
„Ansicht Arbeitsbereich“ ist die nutzerspezifische Ansicht, in der alle Dokumente aufgelistet sind, die dem angemeldeten Benutzer zugeordnet sind. D.h.
Wenn man hot potatoes startet erhält man folgenden Bildschirm.
Markus Tank, Wie arbeitet man mit dem Rich Text Editor?
Dateihandles Um in Perl eine bestimmte Datei zum Lesen, Schreiben oder Anhängen zu öffnen, benötigt man so genannte Dateihandles. Ein Dateihandle ist der.
SWITCH - Anweisung.
Windows Explorer.
Allgemein Batchdatei/en erstellen Was ist das?? Wie geht das??
Support.ebsco.com Lernprogramm zur einfachen Suche in wissenschaftlichen Bibliotheken.
Installationsanleitung 1.02 Hausverwaltung.
Excel Kurs Teil VII Textfunktionen ( TEXT, LÄNGE, LINKS, RECHTS, TEIL, FINDEN ) Einladen von Textdateien Text in Spalten F. Bäumer.
Batch-Programmierung Grundlagen
UNIX-Dateisystem Vortrag: Ronny Kuhnert am
DVG Kommentare1 Kommentare. DVG Kommentare 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht.
DVG Kommentare 1 Kommentare. 2 Kommentare Es gibt zwei Arten von Kommentaren: einzeilige Kommentare // der Kommentar geht bis zum Ende der Zeile.
Kakuro Regeln und Strategien
Einleitung Suse Linux (System- und Software-Entwicklung) Allgemein:
Seniorkom.at vernetzt Jung & Alt Das Internet ist reif
Klicken Sie in der Meldungsleiste auf Bearbeitung aktivieren,
Büromaterialbestellung
Formular- und Dokumentenarchivierung
Aus dem Leben eines Hotline- Mitarbeiters Begriffe: HLM:Hotline-Mitarbeiter DAU:dümmster anzunehmender User.
Hyperlinks und Anker Links notieren
Autor: Peter Pfeiffer Seite: Peter Pfeiffer Memeler Str Bad Oeynhausen Hilfe und Tipps Zu dem Eingabemodul und den Exceldateien Bitte.
Übungsaufgaben für Microsoft Excel
Information und Kommunikation Hartmut Klauck Universität Frankfurt SS
Copyright 2011 Bernd Brügge, Christian Herzog Grundlagen der Programmierung TUM Wintersemester 2011/12 Kapitel 11, Folie 1 2 Dr. Christian Herzog Technische.
Betriebssysteme: Unix
3. Januar 2007 VOLUMES & GENEALOGY: die nächste Generation.
Bereit ???? Nimm dir 10 Minuten Zeit. Ich versuche es dir zu erklären.
die Auftragsbearbeitung für den Kleinbetrieb
ADAT©2004 Dipl. - Ing. Walter SabinSeite: 1 Version 1.0a Einführung in Reguläre Ausdrücke.
Hilfe Dokumente.
Dynamische Webseiten-Generierung
3. Lineare Befehle 3.1 Die Ausgabefunktion
Kommandozeile und Batch-Dateien Molekulare Phylogenetik – Praktikum
se_10_regulaere_ausdruecke.ppt1 Softwareengineering Reguläre Ausdrücke (regular expressions) Prof. Dr.-Ing. Axel Benz, Berlin School of Economics.
Einführungstutorial: Linux Konsole
Hier eine mögliche Antwort:
Stoppen der Eingabeaufforderung einer Abfrage j drücken Sie dann F5, oder klicken Sie auf Bildschirmpräsentation > Von Beginn an, um den Kurs zu starten.
„Erstellen“ anklicken. Für Geräte mit gelben Aufkleber auf „Reparatur eines Gerätes mit Ident-Nummer“ anklicken. Erfahrene Ticket-Ersteller können „Direkterstellung“
„Erstellen“ anklicken. sonstige Reparaturen und Dienstleistungen anklicken.
Excel Grundlagen.
Wie Sie per zu einem Ausbildungsplatz kommen!
1 Tagesüberblick 4 Lösung Hausaufgabe/Fragen Mustervergleiche.
Dokumente meistern Dokumente anlegen Dokumente speichern
Bienert EDV Software für das 21. Jahrhundert Der Vermieter ist eine universelle Lösung für jeden Vermieter. Durch reichhaltige Anpassungsmöglichkeiten.
Die Vereinsverwaltung unter Windows 2000 Anhand der folgenden Präsentation werden Sie mit der Verwaltung des Vereins unter Windows 2000 vertraut gemacht.
Grammatikalische Begriffe im Unterricht
Programmierungssprache PERL
UNSERER HOMEPAGE Anleitung zur Registrierung europa.eu Stand
PhotoShop Elements & Organizer
Pool Informatik, Sj 11/12 GZG FN W.Seyboldt 1 Pool Informatik 5 GZG FN Sj. 11/12 Kopieren, Daten, Programme.
WiWi WS2015 Excel Grundlagen Fachbereich Wirtschaftswissenschaften.
Der Taskmanager ist Bestandteil des Betriebssystems, der als Prozessmanager Prozessmanager unter anderem die aktuell laufenden Programme und Prozesse.
Sortierverfahren Mit VB 2010 express edition JBS Tr, info Q1.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Funktionen, Felder und Parameter- übergabe. Funktionsaufruf mit Feld als Parameter: Parameter = Name des Feldes.
Die Bourne-Shell (cygwin), UNIX- Tools und treetagger Seminar: Strukturierung und Analyse linguistischer Korpusdaten Leiter: Leiter: Dr. Christian Riepl.
1 Prozesse im Studiengangsmanagement Kontext: Neues Abschlussziel erstellen Neues Studienfach erstellen.
Arbeiten mit WordSmith 4. Inhalt 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus) 1. Arbeiten mit der Funktion Wortliste (im getaggten Korpus)
1 Suchprofile erstellen und verwalten. 2 Suchprofile bei Registrierung Hier können Sie bis zu drei Suchprofile einrichten. Diese finden Sie später unter.
Tutorium Software-Engineering SS14 Florian Manghofer.
Besitzrechte. Datei- und Verzeichnis-Besitzer Dateien und Verzeichnisse gehören einem Benutzer und einer Gruppe Besitzer wird bei ls -l in der dritten.
 Präsentation transkript:

und Grepmechanismus unter UNIX THEMA Der Sort- Find- und Grepmechanismus unter UNIX

Der Mechanismus von sort, grep und find unter UNIX Die drei sind alle normale, ausführbare Programme, die bestimmt zum teil sehr komplexe Funktionen realisieren und mit dem UNIX-Betriebssystem ausgeliefert. Um zu ihrem mechanismus zu gehen wollen wir das Thema „Shell“ befassen.

Shell Sie legt sich wie eine Schale um den Betriebssystemkern und ermöglicht dem Benutzer im Dialog seine Anweisungen an UNIX abzusetzen. Betriebs- system kern Betriebs- system kern

Die wesentlichen Aufgaben der Shell kann man in sechs Bereiche unterteilen: 1 6 Betriebs- system kern 2 5 3 4

Angaben ①-Analysieren der Kommandoeingabe ②-Suchen nach dem angegebenen Kommando ③-Steuerung der Ein-und Ausgabe Pipever-arbeitung ④-Ersetzen von Sonderzeichen ⑤-Steuerung des Ablaufs (wenn...dann..u.s.w) ⑥-Erzeugen des Sohnprozesses vorder-und Hintergrundprozesses

Aufruf von Kommandos und die Aufgaben der Shell Zum ①: was wurde eingegeben? -Die Shell analysiert die Eingabe wie folgt: ls -l ../hans -Die Shell nimmt das 1.Wort der eingegebenen Zeile als Kommando und sucht das dazugehörige Programm. Diesem übergibt es den Rest der Zeile als Anweisung. Im obigen Beispiel wird „ls“ gesucht und das gefundene ls-Programm mit den Parametern „-l ../hans“ aufgerufen. An dem vorangestellten „-“ bei „-l“ erkennt das ls-Programm nun, daß der erste Parameter eine Option ist. Alle nicht mit „-“ beginnenden Parameter werden von ls als Dateiname oder Directory betrachtet. Zwischen dem Kommando, der Option und dem Parameter müssen als Trennung mindestens 1 Leerzeichen oder Tabulatorzeichen stehen. 1.Wort=Kommando Option Parameter

zum②: wo findet nun die Shell das ls-Programm zum②: wo findet nun die Shell das ls-Programm? Gibt es das Kommando überhaupt? Die Shell sucht in bestimmten Directories nach „ausführbaren“ Dateien mit dem angegebenen Namen. Für jeden Benutzer ist ein PATH(Suchpfad) eingerichtet, der die Namen der Directories enthält, die dabei durchsucht werden sollen. Die zumeist unter PATH vorgegebenen Directories sind: /bin /usr/bin /usr/ucb /usr/local Unter diesen directories sind die Kommandos für den „normalen“ Benutzer abgelegt. Dieser Suchpfad kann für jeden Benutzer abgeändert werden

Die Standardein- und ausgabe ist das Benutzerterminal zum③: Das UNIX-System ist als Dialogsystem konzipiert, d.h. jeder Benutzer kann direkt von seinem Arbeitsplatz (dem Terminal) Kommandos aufrufen,und das Ergebnis wird in der Regel auf seinem Bildschirm angezeigt. Die Standardein- und ausgabe ist das Benutzerterminal Durch einfache Steuerzeichen in der Shell kann die Ein- und Ausgabe umgeleitet werden. So bedeutet das Größer-Zeichen „>“ Umleitung nach,das Kleiner-Zeichen „<„ Umleitung von. Soll die Liste der Dateienvon /usr/kurs/hans nicht am Bildschirm angezeigt werden, sondern in eine Datei auf der Platte mit dem Namen inhalt geschrieben werden, heißt der Aufruf: ls -l ../hans > inhalt

zum④: Die Shell erleichtert Ihnen die Zusammenarbeit mit dem Rechner zum④: Die Shell erleichtert Ihnen die Zusammenarbeit mit dem Rechner. So gibt es eine Reihe von Sonderzeichen, die u.a. verwendet werden,um lange Datei- und Pfadnamen abzukürzen. Sie können der Shell z.B.sagen: „Ich meine alle Dateien, deren Namen mit a oder b oder c anfangen.“ Das * steht z.B. für eine beliebige Zeichenfolge. Gibt es unter /usr/kurs/monika kein anderes Directory beginnend mit „b“ kann der Aufruf statt ls -l befehle auch mit ls -l b* erfolgen

zum⑤: Hier können Sie die Ausführung eines oder mehrerer Kommandos davon abhängig machen, ob vorab bestimmte Bedingungen erfüllt wurde. Z.B. können Sie vorab prüfen, ob überhaupt ein Directory /urs/kurs/hans vorhanden ist; wenn ja, soll das Inhaltsverzeichnis, das Sie mit ls bekommen, in eine Datei mit dem Namen inhalt geschrieben werden. zum⑥: Das aufgefundene Kommando wird als eigenes Programm gestartet. Hierbei gibt die Shell alles Wissenswerte (u.a. unter welchem Namen hat sich der Benutzer angemeldet? Wo ist sein Homedirectory? ) an das nächste Programm weiter. Ähnlich der Dateistruktur sind auch die Programme hierarchisch geordnet. Man spricht hierbei von Vater/Sohnprogrammen

Bereitzeichen der Shell Sobald die Shell alle Ihre Aufgaben ordnungsgemäß erfüllt hat, meldet sie sofort wieder an Ihrem Bildschirm, daß sie bereit ist, weitere Aufträge von Ihnen entgegenzunehmen. Auf dem Bildschirm erscheint für den normalen Benutzer das Bereitzeichen, z.B. „$“, für den Systemverwalter z.B. „#“. Erkennt die Shell, daß noch weitere Angaben für einen Kommandoaufruf notwendig sind, gibt sie das Zeichen „>“ aus. $---------------------- Bereitzeichen für den normalen Benutzer Bereitzeichen für den normalen Benutzer #--------------------- Bereitzeichen für den Systemverwalter >--------------------- Kennzeichen, daß die Shell weitere Ein- gaben für einen Kommandoaufruf er- wartet

Der Sortmechanismus unter UNIX Sicher haben Sie schon bemerkt, daß alle Dateien eines Directories mit ls standardmäßig alphabetisch sortiert werden. Enthält Ihr Directory Dateinamen, die mit Groß- und Kleinbuchstaben beginnen, so werden zuerst die mit Großbuchstaben beginnende Dateien angezeigt, dann erst alle Dateien, deren Namen mit Kleinbuchstaben anfängt. Verbinden Sie das ls-Kommando durch eine Pipe mit einem Sortierprogramm, können Sie sich z.B. die Ausgaben des Inhaltverzeichnisses so sortieren lassen, daß Groß- und Kleinbuchstaben gleichwertig alphabetisch sortiert werden.

sort[-f r n] [Dateiname(n)] Ebenso können Sie die Dateien mit Hilfe des Sortierprogrammes zeilenweise alphabetisch sortieren-z.B. um fast mühelos ein Telefonverzeichnis anzulegen. Lernen Sie deshalb ein paar nützliche Kommandos, die Sie als Filter für Textdateien verwenden können: numeric string Am Zeilenanfang beginnende Zahlen, die durch Leerzeichen von anderen Zeichen getrennt sind, werden in arithmetischer Reihenfolge sortiert . Die Sortierung erfolgt umgekehrt fold lower case letters in upper case( Klein- u. Großbuchstaben gleichberechtigt) sortieren Kommando, um Datei-Inhalte zu sortieren sort[-f r n] [Dateiname(n)]

Beispiel Pipe mit Sortprogramm $ ls Datum befehle inhalt neu projektA ueb1 $ ls | sort -f befehle Datum inhalt neu projektA ueb1

Der Grepmechanismus unter UNIX Bald werden Sie Ihren UNIX-Rechner gerne einsetzen, um z.B. auch Dokumentation jeglicher Art zu erstellen. Sie haben die Texte jederzeit im Zugriff, können Sie schnell verändern oder Teile (Textbausteine) davon in Angeboten und Briefen verwenden. Allerdings könnte es dann vorkommen, daß Sie nicht in mehr genau wissen, welchen Namen Sie einer bestimmten Datei gegeben haben. Sie erinnern sich aber genau an den Inhalt und wissen, daß Sie z.B. das Wort „mail“ benutzt haben. Mit dem Kommando „grep“ (in etwa greifen, heraussuchen) können Sie bestimmte Worte oder Zeichenfolgen aus Dateien oder Ergebnissen von Kommandos herausfiltern: (Zusammensetzung aus einer Editor Anweisung) Kommando, um nach Mustern in Datei-Inhalt zu suchen global regular expression print grep “Muster“ [Dateiname(n)]

Suchen nach einem Muster (Wort) innerhalb von Dateien Alle angegebenen Dateinamen werden nach dem vorgegeben Muster durchgesucht. Ist die Suche erfolgreich, wird der Dateiname und die Zeile mit dem gefundenen Muster angezeigt. Beispiel: Suchen nach einem Muster (Wort) innerhalb von Dateien $ grep „mail“ Inhalt Datum neu neu: Wie bei dem Kommando mail muss das gefundene Zeile mit dem gesuchten Begriff Name der Datei, in der der gesuchte Begriff vorkommt

Beispiel zur Dateinamenexpansion durch Metazeichen Um beispielweise festzustellen, in welcher Datei innerhalb des aktuellen Directory`s das Wort „mail“ vorkommt, können Sie folgendes Kommando geben: $ grep „mail“ * neu: Wie bei dem Kommando mail muß das Zeichen für Dateiende in einer eigenen Zeile stehen Die Shell ersetzt das * durch alle Dateinamen, die sie in dem aktuellen Directory findet: Datum befehle inhalt neu ueb1 projektA gefundene Zeile mit dem gesuchten Begriff Name der Datei, in der der gesuchte Begriff vorkommt

MAGIERKOMMANDO: grep [ -chilnv ] <regulaerer ausdruck> <name> [...] BESCHREIBUNG: Sucht in den angegebenen Dateien nach dem angegebenen regulären Ausdruck. -c -- Gibt nur die Anzahl der gefundenen Zeilen pro Datei aus -h -- Gibt keinen Dateinamen aus -i -- Ignoriert Groß- und Kleinschreibung -l -- Zeigt immer einen Dateinamen an -n -- Gibt Zeilenummern zu den gefundenen Zeilen aus -v -- Gibt alle Zeilen aus, die nicht auf den Ausdruck passen

Der Findmechanismus unter UNIX Manchmal geht es Ihnen, daß momentan nicht einfällt, wo Sie etwas hingeräumt haben und machen damit Problem. Hier haben Sie keine Angst! Auch für diese Situation gibt es unter UNIX hilfreiche Dienstprogramme. Nehmen wir an, daß wir eine Datei mit dem Namen “sichern“ hatten. Wir können uns aber nicht mehr erinnern, unter welchem Directory sie abgelegt ist. Wo fängt man an zu suchen? Nun, wir könnten bei unserem Home-Directory beginnen, mit ls uns die Dateien anzeigen lassen und alle vorkommenden „Unterdirectories“ auf die gleiche Weise durchforsten. Genau diesen Vorgang kann uns das Kommando find abnehmen. Das find-Kommando hat allerdings seine Besonderheiten: - Sie müssen unbedingt angeben, von wo ab im Dateibaum gesucht werden soll(Start-Directory). - Die Optionen werden nicht abgekürzt sondern ausgeschrieben.

- Wenn Sie ein Ergebnis angezeigt haben wollen, müssen Sie dies dem Kommando explizit angeben(Ausgabeart). Doch sehen wir uns hierzu die Syntax(Regeln) an: *Start-Directory : relativer oder absoluter Pfadname des Directories, von dem ab gesucht soll *Suchkriterien/Muster: -name Dateiname -user Benutzername -mtime n(Anzahl der Tage) -never Dateiname Ohne Angabe von Suchkriterien werden alle Dateien gesucht und mit der Ausgabeart „-print“ angezeigt. *Ausgabeart: -print Anzeige der gefundenen Dateien -exec Befehl „ ; “ (ausführen) Ausführung der nachfolgenden Befehle. Ohne Angabe einer Ausgabeart ist das Kommando unsinnig find Start-Directory [Suchkriterien/Muster] [Ausgabeart]

Beispiel: find /usr/kurs -name sicher -print Start-Directory Suchkriterium Ausgabeart Das find-Kommando gehört zu den schwierigeren Kommandos unter UNIX. Jede einzelne Position des Kommandos hat ihre Besonder-heiten. Betrachten wir diese der Reihe nach: Start-Directory Es muß unbedingt angegeben sein. Wenn Sie von Ihrem aktuellen Directory suchen wollen, muß zumindest ein Punkt als Kennzeichnung des Start-directories angegeben werden. Die Pfadbezeichnung wird in gleicher Form den gefundenen Dateien mitgegeben. Haben Sie das Start-directory mit einem „ . “ angegeben, beginnen die gefundenen Namen ebenso mit ./ z.B. ./Befehle ./ Texte usw. Wurde als Start-directory „/usr/kurs“ angegeben, so werden die ge-fundenen Dateien ebenfalls mit dem absoluten Pfadnamen ausgegeben z.B. /usr/kurs/monika/Befehle /usr/kurs/monika/Texte, usw. Sie können auch mehrere start-directories angeben. Diese werden nacheinander, rekursiv durchgesucht.

Suchkriterien: Wie auch anderen Kommandos sind hier nur die Optionen ausgewählt worden, die häufig benötigt werden. Zu ihnen gehören (Bei den nachfolgenden Beispielen wird einfachheitshalber jeweils vom aktuellen Directory ausgehend gesucht): -name datei: Der Dateiname wird durch ein Leerzeichen getrennt gleich nach der Option „-name“ eingegeben. Hierbei können Metazeichen wie *,? [ ] verwenden werden. Es ist jedoch wichtig, diesen mit Metazeichen versehenen Namen in Anführungszeichen zu setzen, damit er nicht sofort von der Shell ersetzt wird,sondern dem find-Kommando übergeben werden kann. Soll ab dem aktuellen Directory nach allen Namen gesucht werden, die „ n “ beginnen, so wird eingegeben: find . -name „ n* “ -print -user benutzer : Auch hier wird anschließend an die Option der Name des Benutzers (so wie er in der Datei /etc/passwd eingetragen ist) ange-geben. Hier dürfen kein Metazeichen verwenden werden, da es sich hierbei nicht um einen Dateinamen handelt! Das find-Kommando sucht dann alle Dateien, dessen Besitzer der angegebene Benutzer ist.

-mtime n: (modification date) -mtime n: (modification date). Mit dieser Option werden Dateien mit einem Bestimmten Modifikationsdatum gesucht. Unter n wird hierbei die Anzahl der Tage angegeben, die Ermittlung des gesuchten Datums führt, die genau vor n Tagen verändert wurden. Soll z.B. nach allen Dateien gesucht werden, die genau vor 2 Tagen verändert wurden, wird eingegeben: find . -mtime 2 -print -mtime -n: Es wird nach allen Dateien gesucht, die innerhalb der n Tage verändert wurden. Sollen Beispielweise alle Dateien, die innerhalb der letzen 7 Tage ver-ändert wurden, gesucht werden, so wird eingegeben find . -mtime -7 -print -mtime +n: Es wird nach Dateien gesucht, die vor n Tagen und noch früher verändert wurden. Wollen Sie feststellen, welche Dateien Sie vor 1 Monat und früher verändert haben, so geben Sie ein: find . -mtime +30 -print -newer datei: Mit diesen Angabe wird nach allen Dateien gesucht, die ein jüngeres (neueres) Modifikationsdatum aufweisen, als die angegebene Datei.

find . -newer sichlog -print Möchten Sie z.B. alle Dateien suchen, die Sie seit Ihrer letzten Sicherung verändert oder neuerstellt haben, so können Sie auf eine Datei abprüfen, die Sie zum zeitpunkt der Sicherung erstellt haben (z.B. sichlog). Die Eingabe lautet dann: find . -newer sichlog -print Ausgabeart: Bei den obigen Beispielen haben Sie sicher bemerkt, daß bei -print : allen Aufrufen -print angegeben wurde. Sollten Sie vergessen, -print anzugeben, dann können Sie nicht sehen, welche Dateien gefunden wurden. -exec : (execute- ausführen). Mit dieser Ausgabeart können Sie eine komman- dofolge angeben, die nach dem Suchvorgang durchgeführt werden soll. Hierbei können die gesuchten Dateien als Parameter (bzw. im pipe-Mechanis-mus) übergeben werden. Das Einsetzen der gefundenen Dateien wird mit der Zeichenfolge „ { } “ erreicht. Diese Option ist jedoch etwas kompliziert. Sie verlangt exakt die Einhaltung bestimmter Regeln: -exec Kommando „ { }“ „ ; “ Statt der in Anführungszeichen gesetzten geschweiften Klammern werden die gefundenen Dateien an dieser Stelle eingesetzt.

Anzeige aller Dateien mit dem Pfadnamen ab Das find-Kommando ist seiner „Feinheiten“ ein sehr häufig benutztes und wichtiges Kommando. Sie werden es hauptsächlich für die Sicherung Ihrer Dateien benötigen. Beachten Sie hierbei, daß die gefundenen Dateien immer mit der gleichen pfadbezeichnung beginnen, mit der Sie das Start-Directory angesprochen haben. Sehen wir uns hierzu die Beispiele an: $ find /usr/kurs -name sicher -print /usr/kurs/monika/Befehle/sicher $ cd $ pwd /usr/kurs/monika $ find . -name „ s*“ -print ./Texte/spruecher ./Befehle/sicher $ find . -print ./ProjektA ./ProjektA/beispiel.c . etc.. Angabe des gefundenen Dateinamens mit dem absoluten Pfadnamen /usr/kurs ..... Suche nach allen Namen mit „ s “ begin- nend Angabe der gefundenen Dateinamen mit dem relativen Pfadnamen ab Suchposi- tion ./ Anzeige aller Dateien mit dem Pfadnamen ab suchposition, die rekursiv in dem angegebenen Directory gefunden wurden.

Wenn Ihnen etwa nur der Anfangsbuchstabe einer Datei einfällt, nach der Sie suchen, so ist dies für das find-Kommando auch kein Problem. Sie können auch Verknüpfungen von Abfragen eingeben. Unter dem Anfangsbuchstaben „ n “ haben Sie vielleicht mehrere Dateien. Sie wissen aber, daß Sie die gesuchte Datei in den letzten 10 Tagen verändert haben. Geben Sie mehrere Suchkriterien an, so bedeutet dies, daß alle Angaben erfüllt sein müssen. Bei der Eingabe von find . -name „n*“ -mtime -10 -print müssen die zu suchenden Dateien mit n beginnen und zusätzlich innerhalb der letzten 10 Tage verändert worden sein. Eine oder-Verknüpfung ist möglich durch die Option -o. Wenn Sie Dateien suchen, die entweder mit „n“ oder mit „s“ beginnen, also beide angezeigt werden sollen, lautet der Aufruf find . “(‘‘ -name “o*“ -o -name “s*“ “)“ -print Die Klammer wirkt hier ähnlich wie in der Mathematik. Wichtig ist hierbei, daß die Klammer in Anführungszeichen steht und mit Leerzeichen von den anderen Eingaben getrennt wird, damit sie an das find-Kommando weitergegeben und nicht vorab durch die Shell interpretiert wird. Um die Sonderbedeutung der Klammer für die Shell zu unterbinden, kann auch das Fluchtsymbol \ jeweils vor die

Klammer gesetzt werden: find . \( -name “o*“ -o -name “s*“ \ ) -print Wenn nicht nur die gefundenen Dateinamen mit der Pfadbezeichnung angezeigt, sondern zusätzlich auch die Merkmale der Datei mit ls -l angezeigt werden sollen, so können Sie dem find-Kommando diese Aufgabe über die -exec-Anweisung mitgeben: $ pwd /usr/kurs/monika $ find . -name “n*“ -print -exec ls -l “ { } “ “ ; “ ........... $ find . -name “ n*“ -exec ls -l “ { }“ “ ; “ Die Anführungszeichen müssen eingegeben werden, damit Sonderzeichen nicht von der Shell vorab interpretiert werden. Wichtig sind auch die Leerzeichen zwischen den einzelnen Eingaben! Alle gefundenen Dateien werden als Parameter übernommen Ohne Angabe von -print wird nur das nachfolgende Kommando durch -exec ausgeführt

Kommando, um nach Mustern in Datei-Inhalten zu suchen Bild: Das war ein Beispiel von Suchen und Finden von Dateien (find mit -exec Funktion) Ein weiteres Kommando, das Ihnen hilft, Dateien wiederzufinden,ist Groß- und Kleinbuchstaben gleichbehandeln numerierte Zeilenanzeige der gefundenen Zeilen in einer Datei global regular expression print (Zusammensetzung aus einer Editor Anweisung) Kommando, um nach Mustern in Datei-Inhalten zu suchen grep [-nf] “ Muster “ Dateiname(n)

Mit Anzeige der laufenden Zeilennr. Dieses Kommando ist schon kurz in einem Kapitel angesprochen. Falls man sich weder an der Dateinamen, noch an einen Teil des Namens erinnert, aber weiß, daß es sich bei dem Datei-Inhalt um einen Text handelt, in dem z.B. “Frosch“ vorkommt, dann kann man mit Hilfe des grep-Kommandos danach suchen: $ grep “Frosch“ `find . -print` ./Texte/sprueche: Iss jeden Tag einen lebenden Frosch - $ grep -n “Frosch“ `find . -print` ./Texte/sprueche:1: Iss jeden Tag einen lebenden Frosch - Durch die Sonderzeichen ` ` wird erst das Kom -mando find ausgeführt und alle gefundenen Dateien als Parameter dem Kommando grep übergeben. Mit Anzeige der laufenden Zeilennr.

Einige Informationen über awk-, gawk-und sed-Kommandos Zum awk, gawk :Der Begriff awk leitet sich aus den Namen seiner Erfinder Aho/Weinberger/Kernighan ab. awk ist ein Programmierwerkzeug mit kommandozeilenorientiertem Aufruf und C-ähnlicher Syntax. Text-Dateien werden nach Textmustern untersucht, je nach Inhalt bearbeitet und mit den Ergebnissen wird eine neue Text-Datei (auf StdOut) ausgegeben. awk-Skripte werden anders als C-Programme nicht compiliert, sondern interpretiert. Sie sind schnell zu erstellen, aber langsam in der Ausführung. Sie eignen sich nur für kleine Aufgaben, da ein Debugger fehlt. gawk.exe ist das unter Windows lauffähige Gnu-Kompilat von awk. Zum sed.exec : sed (stream editor) ist ein nicht-interaktiver zeilenorientierter Editor. Das Ergebnis erscheint in Standard-Out.

Einige Informationen über compress-, tar- und gzip-Kommandos Zum compress : compress komprimiert Dateien mit LZW (einem veränderten Lempel-Ziv) Algorithmus. Bevor compress eine Datei durch die komprimierte Version ersetzt, überprüft es, ob die Datei nach der Kompression wirklich kleiner ist als vorher. Nur in diesem Fall wird die unkomprimierte Datei gelöscht. Wenn keine Datei angegeben wird, liest compress von der Standardeingabe und schreibt in die Standardausgabe. Wenn die Ausgabedatei Datei.Z schon existiert, wird sie nicht überschrieben. compress verändert den Zeitstempel der Datei nicht. Das compress Programm kann als Standardpacker für Unix bezeichnet werden. Es wird im Zusammenhang mit tar auch für gepackte Dateiarchive verwendet. Das GNU tar bietet eine direkte Unterstützung von compress

Zum tar : tar ist ursprünglich ein Tool zur Verwaltung von Bandarchiven. Das GNU- tar kann aber auch auf ''rohen'' Disketten oder in normalen Dateien Archive im tar Format anlegen und verwalten. Normalerweise werden Archive mit tar nicht komprimiert. Das GNU- tar kann aber die Ein- und Ausgabe durch einen Kompressor leiten. Wenn auf der Kommandozeile keine Datei und kein Gerät angegeben ist, versucht tar auf die Gerätedatei eines Magnetbandgerätes zuzugreifen. Je nach Konfiguration ist das meist /dev/tape oder /dev/rmt0. Sie können eine andere Voreinstellung wählen, indem Sie die Umgebungsvariable TAPE mit dem Pfadnamen der entsprechenden Gerätedatei belegen.

Zum gzip : Beschreibung Programm zur Kompression und Dekompression von Dateien nutzt das Lempel-Ziv-Verfahren LZ77 erzielt deutliche höhere Kompressionsraten als compress kann heute als De-facto-Standard im UNIX-Umfeld angesehen werden ist in der Lage, mittels compress und zip komprimierte Dateien zu dekomprimieren Default-Suffix für komprimierte Dateien: .gz für Dekompression stehen alternative Aufrufe zur Verfügung: gunzip und zcat

awk sed mail compress gzip tar wc at crontab tail, head