Keylam
Anmeldungsdatum: 29. November 2015
Beiträge: 9
|
habe schon zu diesem Thema das Forum, Google durchgesucht, keines der Seiten/Threads hat mir geholfen.
Ich hab hier eine Aufgabe vor mir bei dem ich den Befehl ausführen muss und den befehl so ändern muss das (1) "alle Fehlermeldungen (also alle Meldungen unter stderr) in einer Datei unter /tmp
ausgegeben werden. Die Datei trägt Ihre unix-id als Dateinamen und ein .stderr
als Endung.
(Lautet die unix-id beispielsweise 1234 so soll die Datei
/tmp/1234.stderr verwendet werden.)" so wie ich es verstanden habe, will er das ich alle Meldungen bei dem "Keine Berechtigung" und "Datei oder Verzeichnis nicht gefunden"
steht, in die eine Datei im /tmp abspeichern soll, wieso steht dann im Klammern "Alle Meldungen unter stderr" | grep -C 0 pluto /etc/* |* 2>> /tmp/1000.stderr
|
ich weiss aber nicht, wie ich es schaffe diese beiden Fehlermeldungen auch in die Datei reinbekomme. (2) "Zusätzlich sollen hingegen positive Treffer (also Ausgaben auf stdout) im
Terminal angezeigt werden und parallel in einer Datei unter /tmp ausgegeben
werden.
Diese trägt ebenfalls Ihre unix-id als Dateinamen und ein .stdout als Endung" Mit freundlichen Grüßen
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13205
|
Willkommen hier im Forum! Keylam schrieb: habe schon zu diesem Thema das Forum, Google durchgesucht, keines der Seiten/Threads hat mir geholfen.
Es tut mir Leid, aber ich fürchte, dann hast Du Dich kaum bemüht.
so wie ich es verstanden habe, will er das ich alle Meldungen bei dem "Keine Berechtigung" und "Datei oder Verzeichnis nicht gefunden"
steht, in die eine Datei im /tmp abspeichern soll, wieso steht dann im Klammern "Alle Meldungen unter stderr"
Das kann Dir am besten die Quelle der Aufgabenstellung beantworten.
| grep -C 0 pluto /etc/* |* 2>> /tmp/1000.stderr
|
Was soll das tun? Und was denkst Du tut es?
ich weiss aber nicht, wie ich es schaffe diese beiden Fehlermeldungen auch in die Datei reinbekomme.
Wir sind hier allerdings keine Hausaufgabenhilfe, sondern es gibt Hilfe zur Selbsthilfe. In dem Sinne verweise ich Dich auf unser Wiki und halte mich ansonsten vornehm zurück. Die Aufgabe ist wirklich ziemlich leicht (ich nehme mal an, dass es vorher entsprechende Unterweisungen gab - ansonsten hat das Netz auch reichlich dazu).
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Hi Keylam, auch von mir ein herzliches Willkommen ! Das entscheidende Stichwort ist ja wohl "Dateiumleitung". Kleiner Tip: Hast Du damit schon mal unsere Forensuche bemüht ? 😉 (Da habe ich es nämlich auch schon 25 Mal erklärt ...) Einen lieben Gruß zum 1. Advent, track
|
Keylam
(Themenstarter)
Anmeldungsdatum: 29. November 2015
Beiträge: 9
|
so nach bisschen recherchieren, hatte auch viel zu tun, schreibe ich erst jetzt | grep -C 0 pluto /etc/* 2> /tmp/...
|
aber die Datei hat nur die hälfte von Befehl den ich ohne 2> ausführe und auch die Einträge die eigentlich keine Fehlermeldungen sind enthalten.
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Was meinst Du damit ? - denn bei mir funktioniert es eigentlich genau so, wie es soll: track@track:~$ grep -C 0 pluto /etc/* > grep.1.txt
grep: /etc/at.deny: Keine Berechtigung
grep: /etc/blkid.tab: Datei oder Verzeichnis nicht gefunden
grep: /etc/chatscripts: Keine Berechtigung
grep: /etc/group-: Keine Berechtigung
grep: /etc/gshadow: Keine Berechtigung
grep: /etc/gshadow-: Keine Berechtigung
grep: /etc/motd: Datei oder Verzeichnis nicht gefunden
grep: /etc/mtab.fuselock: Keine Berechtigung
grep: /etc/passwd-: Keine Berechtigung
grep: /etc/shadow: Keine Berechtigung
track@track:~$ grep -C 0 pluto /etc/* 2> grep.2.txt
/etc/bash_completion: manual pluto ranbits rsasigkey \
track@track:~$ head grep.1.txt
/etc/bash_completion: manual pluto ranbits rsasigkey \
track@track:~$ head grep.2.txt
grep: /etc/at.deny: Keine Berechtigung
grep: /etc/blkid.tab: Datei oder Verzeichnis nicht gefunden
grep: /etc/chatscripts: Keine Berechtigung
grep: /etc/group-: Keine Berechtigung
grep: /etc/gshadow: Keine Berechtigung
grep: /etc/gshadow-: Keine Berechtigung
grep: /etc/motd: Datei oder Verzeichnis nicht gefunden
grep: /etc/mtab.fuselock: Keine Berechtigung
grep: /etc/passwd-: Keine Berechtigung
grep: /etc/shadow: Keine Berechtigung Was erwartest Du, dass er bei Dir tun soll, und was tut er bei Dir tatsächlich ? LG, track
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13205
|
Keylam schrieb:
aber die Datei hat nur die hälfte von Befehl den ich ohne 2> ausführe und auch die Einträge die eigentlich keine Fehlermeldungen sind enthalten.
Ich bin mir nicht sicher, was genau Du mit "Befehl" meinst. Meinst Du vielleicht "Ausgaben"? Und: Das kann eigentlich nicht sein - es sei denn, Du benutzt nicht den grep , den wir anderen benutzen, und Deiner verhält sich anders.
|
Keylam
(Themenstarter)
Anmeldungsdatum: 29. November 2015
Beiträge: 9
|
track schrieb: Was erwartest Du, dass er bei Dir tun soll, und was tut er bei Dir tatsächlich ? LG, track
also ich führe den Befehl | grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
|
aus und wenn ich in den ordner /tmp wechsel und | head grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
|
ausführe, gibt mit die Konsole das hier aus 1
2
3
4
5
6
7
8
9
10
11
12
13 | Keylam@keylam:~$ grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
keylam@keylam:~$ cd /tmp
keylam@keylam:/tmp$ head 1000.stderr
grep: /etc/acpi: Ist ein Verzeichnis
grep: /etc/alternatives: Ist ein Verzeichnis
grep: /etc/apm: Ist ein Verzeichnis
grep: /etc/apparmor: Ist ein Verzeichnis
grep: /etc/apparmor.d: Ist ein Verzeichnis
grep: /etc/apport: Ist ein Verzeichnis
grep: /etc/apt: Ist ein Verzeichnis
grep: /etc/aptdaemon: Ist ein Verzeichnis
grep: /etc/at-spi2: Ist ein Verzeichnis
grep: /etc/authbind: Ist ein Verzeichnis
|
ich möchte aber das die Konsole, das hier ausgibt | track@track:~$ head grep.2.txt
grep: /etc/at.deny: Keine Berechtigung
grep: /etc/blkid.tab: Datei oder Verzeichnis nicht gefunden
grep: /etc/chatscripts: Keine Berechtigung
grep: /etc/group-: Keine Berechtigung
grep: /etc/gshadow: Keine Berechtigung
grep: /etc/gshadow-: Keine Berechtigung
grep: /etc/motd: Datei oder Verzeichnis nicht gefunden
grep: /etc/mtab.fuselock: Keine Berechtigung
grep: /etc/passwd-: Keine Berechtigung
grep: /etc/shadow: Keine Berechtigung
|
also nur die Fehlermeldungen, bei dem Keine Berechtigung vorkommen oder Datei oder Verzeichnis nicht gefunden, diese müssen angezeigt werden.
|
rklm
Projektleitung
Anmeldungsdatum: 16. Oktober 2011
Beiträge: 13205
|
Keylam schrieb:
| head grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
|
Was soll das Deiner Meinung nach tun? Außerdem ist es nicht das, was Du unten ausführst. Bitte achte ein wenig darauf, dass Du auch das Korrekte hier postest (siehe Richtig fragen), sonst machst Du es uns Helfern unnötig schwer.
ausführe, gibt mit die Konsole das hier aus | Keylam@keylam:~$ grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
keylam@keylam:~$ cd /tmp
keylam@keylam:/tmp$ head 1000.stderr
...
|
also nur die Fehlermeldungen, bei dem Keine Berechtigung vorkommen oder Datei oder Verzeichnis nicht gefunden, diese müssen angezeigt werden.
Dann filtere doch den Inhalt der Datei mit den Fehlermeldungen. Alternativ könntest Du natürlich das ursprüngliche Kommando so ausführen, dass Du grep nur auf Dateien loslässt, für die Du Leseberechtigung hatst.
|
Keylam
(Themenstarter)
Anmeldungsdatum: 29. November 2015
Beiträge: 9
|
rklm schrieb: Keylam schrieb:
| head grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
|
Was soll das Deiner Meinung nach tun? Außerdem ist es nicht das, was Du unten ausführst. Bitte achte ein wenig darauf, dass Du auch das Korrekte hier postest (siehe Richtig fragen), sonst machst Du es uns Helfern unnötig schwer.
ausführe, gibt mit die Konsole das hier aus | Keylam@keylam:~$ grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
keylam@keylam:~$ cd /tmp
keylam@keylam:/tmp$ head 1000.stderr
...
|
also nur die Fehlermeldungen, bei dem Keine Berechtigung vorkommen oder Datei oder Verzeichnis nicht gefunden, diese müssen angezeigt werden.
Dann filtere doch den Inhalt der Datei mit den Fehlermeldungen. Alternativ könntest Du natürlich das ursprüngliche Kommando so ausführen, dass Du grep nur auf Dateien loslässt, für die Du Leseberechtigung hatst.
sorry, war ein Fehler meinerseits es sollte eigentlich heißen, welcher dann den Inhalt von 1000.stderr ausgibt. naja, aber bei track funktioniert der Befehl auch,also er hat ja seine Liste gepostet und bei ihm ist es die richtige Ausgabe mit den Fehlermeldungen und ich glaube nicht das, dass herausfiltern als Lösung für die Aufgabe gedacht ist, außerdem hab ich mal mit dem Befehl experimentiert und wenn ich | cd Feierabend 2> Fehler.txt
|
ausführe, dann scheint es auch zu klappen.
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Um genauer zu sehen, wie die Befehle tatsächlich ausgeführt werden, kann man vorher set -x einschalten. In meinem Fall sehe ich dann, dass die ganzen Verzeichnisse bei mir zwar auch an grep übergeben, aber nicht ausgewertet werden. Meine Frage wäre: hast Du vielleicht ein spezielles grep , dass das bei Dir nicht klappt ? Was sagt grep --version bei Dir ? track
|
Keylam
(Themenstarter)
Anmeldungsdatum: 29. November 2015
Beiträge: 9
|
track schrieb: Um genauer zu sehen, wie die Befehle tatsächlich ausgeführt werden, kann man vorher set -x einschalten. In meinem Fall sehe ich dann, dass die ganzen Verzeichnisse bei mir zwar auch an grep übergeben, aber nicht ausgewertet werden. Meine Frage wäre: hast Du vielleicht ein spezielles grep , dass das bei Dir nicht klappt ? Was sagt grep --version bei Dir ? track
grep (GNU grep) 2.12
Copyright (C) 2012 Free Software Foundation, Inc.
License GPLv3+: GNU GPL version 3 or later <http://gnu.org/licenses/gpl.html>.
This is free software: you are free to change and redistribute it.
There is NO WARRANTY, to the extent permitted by law.
Written by Mike Haertel and others, see <http://git.sv.gnu.org/cgit/grep.git/tree/AUTHORS>. ist aber die Version auf dem Hochschulrechner mit dem ich mich über Putty verbinde, ich könnte also nichts ändern also update etc. und plötzlich funktioniert Virtualbox nicht mehr sonst hätte ich darüber mal versucht ☹ ist der Befehl | grep -C 0 pluto /etc/* 2> /tmp/1000.stderr
|
jetzt richtig oder muss ich noch eine Änderung vornehmen?
|
track
Anmeldungsdatum: 26. Juni 2008
Beiträge: 7174
Wohnort: Wolfen (S-A)
|
Der grep- Befehl ist schon ok, schließlich hat er bei mir genau das ausgeworfen, was Du erwartet hast. Und an der grep- Version ist auch erstmal nix Besonderes. Der Punkt scheint die Umgebung zu sein, dass grep in Deinem Fall den Unterschied zwischen den Dateien und Verzeichnissen nicht erkennt. Aber ob das an Putty liegt ? - komisch. (ich habe jetzt aber keine Putty- Verbindung zum Probieren)
Das beste wäre wohl, wenn Du die Frage mal einem Computer-Assistenten an der Hochschule vorlegst. Womöglich kennt der das Problem schon ? Gut - das geht heute Abend nicht mehr. Wenn Du auf die Schnelle eine "Lösung" brauchst, könntest Du ja tatsächlich die "falschen" Zeilen erstmal nachträglich wegfiltern, wie Robert oben schon vorgeschlagen hat. LG, track p.s.: Telnet kann anscheinend sowohl SSH als auch Telnet ... welches von den beiden benutzt Du ? - dann könntest Du evt. mal einen anderen Client benutzen.
|
Keylam
(Themenstarter)
Anmeldungsdatum: 29. November 2015
Beiträge: 9
|
wahrscheinlich liegt es dann an der Umgebung, hatte heute die Möglichkeit an dem Rechner zu sitzen, aber egal wie ich oft den Befehl geändert habe, hat nichts gebracht müsste ich wohl einen Computer-Assistenten befragen. Ich bedanke mich sehr für deine Hilfe und deinen Geduld und wünsch dir frohe Weihnachten ☺ MfG
|