Inhalt von Verzeichnissen rekursiv an cat übergeben und in die Dateien schauen lassen
Hallo, regelmäßig gibt mein System in größeren Abständen den Ton KDE-Sys-App-Negative.ogg aus. Ich kann das Programm nicht finden, welches den Ton ausführt. Nun möchte ich sämtliche Textdateien in /etc ,einschl. Unterverzeichnisse, durchsuchen lassen und mit cat | grep KDE-Sys-App-Negative eventuel etwas finden. Wie kann ich cat durch die Unterverzeichnisse schicken? Mit find oder la(s) | cat ... bekomme ich es nicht hin. In der manpage von cat habe ich auch nichts gefunden. Vielleicht gibt es ja auch einen anderen Weg? -- Viele Grüße Manfred ------------------- openSUSE 11.1 --- KDE 3.5.10 "release 46" Kernel 2.6.27.21-0.1-default --- Maschine i686 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
On Sat, 16 May 2009 14:18:06 +0200, Manfred Eifler
Hallo,
regelmäßig gibt mein System in größeren Abständen den Ton KDE-Sys-App-Negative.ogg aus. Ich kann das Programm nicht finden, welches den Ton ausführt.
Nun möchte ich sämtliche Textdateien in /etc ,einschl. Unterverzeichnisse, durchsuchen lassen und mit cat | grep KDE-Sys-App-Negative eventuel etwas finden.
Wie kann ich cat durch die Unterverzeichnisse schicken? Mit find oder la(s) | cat ... bekomme ich es nicht hin. In der manpage von cat habe ich auch nichts gefunden.
Vielleicht gibt es ja auch einen anderen Weg?
Wenn du im Inhalt von Dateien suchen willst, brauchst du kein cat, sondern nur find + xargs + grep. So müsste es gehen: find /etc | xargs grep -i "KDE-Sys-App-Negative.ogg" Jürgen -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Manfred Eifler wrote:
Hallo,
regelmäßig gibt mein System in größeren Abständen den Ton KDE-Sys-App-Negative.ogg aus. Ich kann das Programm nicht finden, welches den Ton ausführt.
Nun möchte ich sämtliche Textdateien in /etc ,einschl. Unterverzeichnisse, durchsuchen lassen und mit cat | grep KDE-Sys-App-Negative eventuel etwas finden.
Wie kann ich cat durch die Unterverzeichnisse schicken? Mit find oder la(s) | cat ... bekomme ich es nicht hin. In der manpage von cat habe ich auch nichts gefunden.
Vielleicht gibt es ja auch einen anderen Weg?
grep -r 'KDE-Sys-App-Negative' /etc/* Grins! Wenn David deine Mail liest bekommst du wahrscheinlich eine Mahnpredigt, wie viele unnötige Befehlsaufrufe und Pipes du verwenden wolltest. (^-^) -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Sandy Drobic, Samstag 16 Mai 2009:
grep -r 'KDE-Sys-App-Negative' /etc/*
Wieso /etc/*? find /etc... guckt auch so in alles rein, was in etc kreucht und fleucht. Und ich würde in diesem Fall grep -ril machen, das findet wegen -i zuverlässiger, und reinschauen muß der OP anschließend sowieso, also brauchts keinen Output des gefundenen Inhalts. -- Andre Tann -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 16. Mai 2009 schrieb Manfred Eifler:
regelmäßig gibt mein System in größeren Abständen den Ton KDE-Sys-App-Negative.ogg aus. Ich kann das Programm nicht finden, welches den Ton ausführt.
Nun möchte ich sämtliche Textdateien in /etc ,einschl. Unterverzeichnisse, durchsuchen lassen und mit cat | grep KDE-Sys-App-Negative eventuel etwas finden. (...).
Die Idee ist an sich nicht schlecht, aber wieso guckst du nicht in den KDE4- Systemeinstellungen->Benachrichtigungen nach? Denn da stehen die Dateinamen, wenn ein Klang bei einer Benachrichtigung abgespielt werden soll. Der oben von dir erwähnte Klang wird bei mir von powerdevil in bestimmten Situationen abgespielt. Die Benachrichtigungen werden bei KDE-Programmen in den .notifyrc-Dateien abgespeichert, mit dem Prefix "Sound=": grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/ Die tatsächlich benutzen Pfade verrät einem: kde4-config --path config BTW, dbus-monitor zeigt auch viel an, aber den Dateinamen der abgespielten Benachrichtigungen konnte ich in dessen Ausgabe leider auch nicht finden. Aber das heißt nicht, daß es damit nicht ginge. HTH Jan (für dnh: ja, -r ist nicht Standard, sondern eine GNU extension, sorry!) -- You never know what is enough until you know what is more than enough. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 16. Mai 2009 schrieb ich:
(...). grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/
Ja, nee, leider nicht ganz: grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/ ~/.kde4/share/apps/ /usr/share/kde4/apps/ /etc/kde4/share/apps/
Die tatsächlich benutzen Pfade verrät einem: kde4-config --path config Und: kde4-config --path data
Gruß Jan -- Imagination is the one weapon in the war against reality. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 16. Mai 2009 schrieb Jan Ritzerfeld:
Am Samstag, 16. Mai 2009 schrieb ich:
(...). grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/
Ja, nee, leider nicht ganz: grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/ ~/.kde4/share/apps/ /usr/share/kde4/apps/ /etc/kde4/share/apps/
Die tatsächlich benutzen Pfade verrät einem: kde4-config --path config
Und: kde4-config --path data
Ich hab mit Sandys Befehl (vielen Dank, auch an die anderen) den einzigen Hinweis in /usr/share gefunden: /usr/share/kde4/apps/powerdevil/powerdevil.notifyrc:Sound=KDE-Sys-App-Negative.ogg Damit kann ich aber nichts anfangen. Die kde4 habe ich übrigens gar nicht laufen. Ich wüsste auch kein Programm aus kde4. In kcontrol habe ich unter Systemnachrichten alle Programme durchgeschaut. Kein Programm benutzt es. Meine Vermutung smartd hat sich nicht bestätigt. Mit syslogd bin ich noch nicht so ganz im Klaren. In den Dateien, soweit ich die Beteiligten gefunden habe, fand ich allerdings ebenfalls nichts. Es hätte mir "grep -r 'KDE-Sys-App-Negative' /etc/*" ja auch anzeigen müssen/sollen. -- Viele Grüße Manfred ------------------- openSUSE 11.1 --- KDE 3.5.10 "release 46" Kernel 2.6.27.21-0.1-default --- Maschine i686 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Manfred Eifler wrote:
Am Samstag, 16. Mai 2009 schrieb Jan Ritzerfeld:
Am Samstag, 16. Mai 2009 schrieb ich:
(...). grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/
Ja, nee, leider nicht ganz: grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/ ~/.kde4/share/apps/ /usr/share/kde4/apps/ /etc/kde4/share/apps/
Die tatsächlich benutzen Pfade verrät einem: kde4-config --path config
Und: kde4-config --path data
Ich hab mit Sandys Befehl (vielen Dank, auch an die anderen) den einzigen Hinweis in /usr/share gefunden: /usr/share/kde4/apps/powerdevil/powerdevil.notifyrc:Sound=KDE-Sys-App-Negative.ogg Damit kann ich aber nichts anfangen.
Die kde4 habe ich übrigens gar nicht laufen. Ich wüsste auch kein Programm aus kde4.
In kcontrol habe ich unter Systemnachrichten alle Programme durchgeschaut. Kein Programm benutzt es. Meine Vermutung smartd hat sich nicht bestätigt. Mit syslogd bin ich noch nicht so ganz im Klaren. In den Dateien, soweit ich die Beteiligten gefunden habe, fand ich allerdings ebenfalls nichts. Es hätte mir "grep -r 'KDE-Sys-App-Negative' /etc/*" ja auch anzeigen müssen/sollen.
Dann greppe doch mal in deinem Homeverzeichnis. Ich vermute, dass die Einstellung dort enthalten ist. -- Sandy Antworten bitte nur in die Mailingliste! PMs bitte an: news-reply2 (@) japantest (.) homelinux (.) com -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 16. Mai 2009 schrieb Sandy Drobic:
Manfred Eifler wrote:
Am Samstag, 16. Mai 2009 schrieb Jan Ritzerfeld:
Am Samstag, 16. Mai 2009 schrieb ich:
(...). grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/
Ja, nee, leider nicht ganz: grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ /usr/share/kde4/config/ /etc/kde4/share/config/ ~/.kde4/share/apps/ /usr/share/kde4/apps/ /etc/kde4/share/apps/
Die tatsächlich benutzen Pfade verrät einem: kde4-config --path config
Und: kde4-config --path data
Ich hab mit Sandys Befehl (vielen Dank, auch an die anderen) den einzigen Hinweis in /usr/share gefunden: /usr/share/kde4/apps/powerdevil/powerdevil.notifyrc:Sound=KDE-Sys-App-Ne gative.ogg Damit kann ich aber nichts anfangen.
Die kde4 habe ich übrigens gar nicht laufen. Ich wüsste auch kein Programm aus kde4.
In kcontrol habe ich unter Systemnachrichten alle Programme durchgeschaut. Kein Programm benutzt es. Meine Vermutung smartd hat sich nicht bestätigt. Mit syslogd bin ich noch nicht so ganz im Klaren. In den Dateien, soweit ich die Beteiligten gefunden habe, fand ich allerdings ebenfalls nichts. Es hätte mir "grep -r 'KDE-Sys-App-Negative' /etc/*" ja auch anzeigen müssen/sollen.
Dann greppe doch mal in deinem Homeverzeichnis. Ich vermute, dass die Einstellung dort enthalten ist.
Läuft schon seit einiger Zeit. Es dauert. -- Viele Grüße Manfred ------------------- openSUSE 11.1 --- KDE 3.5.10 "release 46" Kernel 2.6.27.21-0.1-default --- Maschine i686 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Samstag, 16. Mai 2009 schrieb Manfred Eifler:
(...). /usr/share/kde4/apps/powerdevil/powerdevil.notifyrc:Sound=KDE-Sys-App-Neg ative.ogg Damit kann ich aber nichts anfangen.
Du hast noch KPowersave von KDE3 im System-Tray? powerdevil ist das KDE4- Äquivalent dazu.
Die kde4 habe ich übrigens gar nicht laufen. Ich wüsste auch kein Programm aus kde4.
Die Datei gehört aber zu KDE4: jan@karl:~> rpm -qf /usr/share/sounds/KDE-Sys-App-Negative.ogg kdebase4-runtime-4.2.3-3.1
In kcontrol habe ich unter Systemnachrichten alle Programme durchgeschaut. Kein Programm benutzt es.
Kein KDE3-Programm. Mit systemsettings aus obigen Paket erreichst du die Konfiguration der KDE4-Programme.
Meine Vermutung smartd hat sich nicht bestätigt. Mit syslogd bin ich noch nicht so ganz im Klaren. In den Dateien, soweit ich die Beteiligten gefunden habe, fand ich allerdings ebenfalls nichts. Es hätte mir "grep -r 'KDE-Sys-App-Negative' /etc/*" ja auch anzeigen müssen/sollen.
Wenn du es nichts anders von Hand eingestellt hast, glaube ich kaum, daß irgendein Nicht-KDE4-Programm den Klang abspielt! Denn die Datei ist ja nur vorhanden, wenn man KDE4 installiert hat. smartd und syslogd sind aber ganz normale Dienste, die nicht voraussetzen können, daß man einen Windowmanager wie KDE4 installiert hat. Daher hätte es mich auch sehr gewundert, wenn du in /etc einen Verweis darauf gefunden hättest. Ich würde eher mal die bei dir laufenden KDE4-Programme identifizieren und deren Benachrichtigungseinstellungen überprüfen. Gruß Jan -- The greatest productive force is human selfishness. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, 17. Mai 2009 schrieb Jan Ritzerfeld:
Ich würde eher mal die bei dir laufenden KDE4-Programme identifizieren und deren Benachrichtigungseinstellungen überprüfen.
In den systemsettings kde4 ist tatsächlich der Klang bei powerdevil eingestellt. Komisch ist nur, powerdevil ist gar nicht installiert und läuft auch nicht. Ich hab die Tonbenachrichtigung trotzdem abgestellt. Mal sehen ob der Ton jetzt noch kommt. Die Suche mit grep hat übrigens nichts ergeben. Vielen Dank an dieser Stelle noch an David! Schönen Sonntag an alle. -- Viele Grüße Manfred ------------------- openSUSE 11.1 --- KDE 3.5.10 "release 46" Kernel 2.6.27.21-0.1-default --- Maschine i686 -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, 17. Mai 2009 schrieb Manfred Eifler:
Am Sonntag, 17. Mai 2009 schrieb Jan Ritzerfeld:
Ich würde eher mal die bei dir laufenden KDE4-Programme identifizieren und deren Benachrichtigungseinstellungen überprüfen.
In den systemsettings kde4 ist tatsächlich der Klang bei powerdevil eingestellt. Komisch ist nur, powerdevil ist gar nicht installiert und läuft auch nicht. Ich hab die Tonbenachrichtigung trotzdem abgestellt. Mal sehen ob der Ton jetzt noch kommt.
Die Suche mit grep hat übrigens nichts ergeben. Vielen Dank an dieser Stelle noch an David! (...).
Okay, dann eben auf die harte Tour: karl:~ # auditctl -e 1 karl:~ # auditctl -w /usr/share/sounds/KDE-Sys-App-Negative.ogg -p r -k sound Danach habe ich mal testweise den Klang über die Benachrichtigungs- einstellungen von powerdevil abspielen lassen: karl:~ # ausearch -k sound ---- time->Mon May 18 19:43:13 2009 type=CONFIG_CHANGE msg=audit(1242668593.101:35): auid=4294967295 ses=4294967295 op=add rule key="sound" list=4 res=1 ---- time->Mon May 18 19:43:41 2009 type=PATH msg=audit(1242668621.777:36): item=0 name="///usr/share/sounds/KDE- Sys-App-Negative.ogg" inode=1116255 dev=08:02 mode=0100644 ouid=0 ogid=0 rdev=00:00 type=CWD msg=audit(1242668621.777:36): cwd="/home/jan/Documents" type=SYSCALL msg=audit(1242668621.777:36): arch=40000003 syscall=5 success=yes exit=15 a0=af575dc8 a1=8000 a2=0 a3=8000 items=1 ppid=4066 pid=12733 auid=4294967295 uid=1000 gid=100 euid=1000 suid=1000 fsuid=1000 egid=100 sgid=100 fsgid=100 tty=(none) ses=4294967295 comm="kcmshell4" exe="/usr/bin/kcmshell4" key="sound" So sieht man also genau, welches Programm die Datei wann zum Lesen öffnet. "sound" ist nur ein frei gewählter Bezeichner, damit die Ausgabe von "ausearch" auf die relevanten Nachrichten beschränkt werden kann. Achtung: Durch das "auditctl -e 1" wird eine ganze Menge nach "/var/log/audit/audit.log" geschrieben! HTH Jan -- Age and treachery will always overcome youth and skill. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Hallo, Am Sam, 16 Mai 2009, Jan Ritzerfeld schrieb:
Am Samstag, 16. Mai 2009 schrieb Manfred Eifler:
Nun möchte ich sämtliche Textdateien in /etc ,einschl. Unterverzeichnisse, durchsuchen lassen und mit cat | grep
Wie Sandy schon andeutete, grep kann die Dateien schon selber aufmachen. Generell: grep MUSTER Datei [ Datei ... ]
Die Benachrichtigungen werden bei KDE-Programmen in den .notifyrc-Dateien abgespeichert, mit dem Prefix "Sound=": grep -r --include "*.notifyrc" "Sound=" ~/.kde4/share/config/ [..] (für dnh: ja, -r ist nicht Standard, sondern eine GNU extension, sorry!)
dh@slarty[10]: ~ (0)$ grep --include grep: unrecognized option `--include' Usage: grep [OPTION]... PATTERN [FILE]... Try `grep --help' for more information. dh@slarty[10]: ~ (2)$ grep -r grep: invalid option -- r [..] dh@slarty[10]: ~ (2)$ grep -V | head -n 1 grep (GNU grep) 2.2 Zugegeben, das grep ist alt, und -r ist eine relativ alte Erweiterung, so daß die heute meist in GNU grep drin sein sollte. Bzgl. --include weiß ich nichts genaueres. Manfred: die "kanonische" GNU Lösung wäre: find /etc/ -type f -print0 | xargs -0 -r fgrep -l 'foo.ogg' bzw. für die *.notifyrc: find ~/.kde4/share/config/ /opt/kde4/... \ -type f -name '*.notifyrc' -print0 | \ xargs -0 -r fgrep -l 'Sound=' Da jew. nach einem festen String und nicht mit einer Regex gesucht wird kann man fgrep statt grep verwenden. Mit BSD find und aktuellen GNU find geht auch folgende Syntax: find /etc/ -type f -exec fgrep -l 'foo.ogg' '{}' + Nur weil das Thema schonmal angesprochen wurde ... ;) -dnh -- 77: Internet Arbeitsbeschaffungsmaßnahme für Rechtsanwälte (Frank Klemm) -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
Am Sonntag, 17. Mai 2009 schrieb David Haller:
(...). Zugegeben, das grep ist alt, und -r ist eine relativ alte Erweiterung, so daß die heute meist in GNU grep drin sein sollte. Bzgl. --include weiß ich nichts genaueres.
Trotzdem, wieder was gelernt, daß dein grep -r noch nicht kennt, hatte ich noch im Kopf, aber das mit dem --include hatte ich nicht nachgesehen.
(...). Nur weil das Thema schonmal angesprochen wurde ... ;)
Natürlich ganz unabsichtlich! :) Gruß Jan -- Murphy's Law: If anything can go wrong, it will. -- Um die Liste abzubestellen, schicken Sie eine Mail an: opensuse-de+unsubscribe@opensuse.org Um eine Liste aller verfuegbaren Kommandos zu bekommen, schicken Sie eine Mail an: opensuse-de+help@opensuse.org
participants (6)
-
Andre Tann
-
David Haller
-
Jan Ritzerfeld
-
Juergen Langowski
-
Manfred Eifler
-
Sandy Drobic