Find bringt nicht erwünschtes Ergebnis

Hi,

der Befehl > find /opt/local/bin -type f -name ‚*‘ -exec man -k {} 1> /Users/xxx/Desktop/optlocbin.txt ;
bringt folgendes Ergebnis > /opt/local/bin/bison: nothing appropriate
sollte aber das in die Datei schreiben > bison(1) - GNU Project parser generator (yacc replacement)

Weiss jemand Rat??

Gruß

Hallo,

der Befehl > find /opt/local/bin -type f -name ‚*‘ -exec man
-k {} 1> /Users/xxx/Desktop/optlocbin.txt ;

bringt folgendes Ergebnis > /opt/local/bin/bison: nothing
appropriate

sollte aber das in die Datei schreiben > bison(1) - GNU
Project parser generator (yacc replacement)

Weiss jemand Rat??

Zerleg das Ding mal in Einzelteile und teste, wo es hakt.

  • kann man -k 1 das verarbeiten, was find /opt/local/bin -type f -name ‚*‘ liefert (die Antwort beginnt mit „n“.

  • Überprüfe die Syntax von find und insbesondere der Option -exec (man find), Stichwort escaping oder „quotierung“. Tipp: zweimal falsch, einmal richtig gemacht.

HTH,

Gruß,

Sebastian

Hi,

Was wollte ich machen, eine Datei erstellen mit einer Kurzübersicht aller Programme auf dem System, falls vorhanden, der Pfad /opt/local/bin ,war dabei nur zum testen, ob es auch funzt.

Lösung > apropos * | grep -v ‚nothing appropriate‘ 1>/Users/xxx/Desktop/allappmans.txt

  • Überprüfe die Syntax von find und insbesondere der Option
    -exec (man find), Stichwort escaping oder „quotierung“. Tipp:
    zweimal falsch, einmal richtig gemacht.

Würd mich aber trotzdem mal interessieren, wie du das mittels find gelöst hättest (außer ein > find / -name ‚*‘ -exec man -k {} 1>/pfad ; welches, wenn auch ein wenig umständlich, zum Ziel geführt hätte)

HTH

zumindest in der Hinsicht, das ich drauf kam, dass ein > man -k /opt/local/bin/bison blödsinn ist.

Gruß

@Sebastian,

wo bleibt deine Antwort? Sich aus dem Fenster lehnen und „schlaue“ Sprüche klopfen kann jeder. Tipp: Escaping oder Quoting.

Hallo,

wo bleibt deine Antwort?

Deine Anspruchshaltung ist ja super. Was leistetst Du für die komplette und anstrengungsfreie Lösung hier so?

Tipp: Escaping oder
Quoting.

Erster Fehler: die Zeichen {, } und ; müssen „escaped“ werden, üblichweise mit ;

Die weiteren Probleme darfst Du gerne erstmal nachvollziehen und verstehen was nicht klappt, bevor wir über eine Lösung diskutieren. Okay?

Sebastian

Deine Anspruchshaltung ist ja super. Was leistetst Du für die
komplette und anstrengungsfreie Lösung hier so?

Du kannst lesen oder? Hatte die Lösung gepostet und damit mein Ziel erreicht, mittels einem einfachen > apropos * oder auch > man -k *

Tipp: Escaping oder
Quoting.

Erster Fehler: die Zeichen {, } und ; müssen „escaped“ werden,
üblichweise mit ;

In welchen Bezug den? Ein > find /home/user/ -name ‘*’ -exec sha256sum {} 1>/home/user/usershasum.txt 2>/dev/null ;
oder auch > find /home/user -name ‘*’ -exec ls -Ad {} >/home/user/dateiliste.txt ; funktioniert bei mir seit je her bestens wie noch viele Befehlsformen mehr von „find“, also auf was willst du hinaus?

Die weiteren Probleme darfst Du gerne erstmal nachvollziehen
und verstehen was nicht klappt, bevor wir über eine Lösung
diskutieren. Okay?

Du bist nicht mein Lehrer, das war eine einfache Frage und ich erwarte eine einfache Antwort, wenn du dazu nicht fähig bist, dann antworte nicht.

P.S. Ich brauche die Antwort nicht mehr, weil ich mir selbst geholfen habe, mich hatte nur interessiert wie du das mit find gelöst hättest, da du bist jetzt keine Antwort darauf gegeben hast, gehe ich davon aus das du sie auch nicht weisst.

Thema ist damit abgeschlossen!

Hallo,

Deine Anspruchshaltung ist ja super.

Du kannst lesen oder? Hatte die Lösung gepostet und damit mein
Ziel erreicht

Das ist ja schön für Dich. Ich habe Dir ein paar Hinweise gegeben, wo ich Probleme sehe und wie ich mit der Fehlersuche anfangen würde. Daß Du daraus einen Anspruch ableitest, eine Lösung ermaulen zu können ist in meinen Augen eher etwas eigen.

Tipp: Escaping oder
Quoting.

Erster Fehler: die Zeichen {, } und ; müssen „escaped“ werden,
üblichweise mit ;

In welchen Bezug den?

In dem Bezug mancheiner Shell zumindest. Und ich denke, so ganz exotisch das nicht sein nicht sein, zumindest weist die man page auf meinem Rechner auf genau das Problem hin.

Zudem hat bei mir der find-Befehl Dinge ausgegeben, die vom anschließenden Befehl nicht korrekt weiterverarbeitet werden konnten.

Ein > find /home/user/ -name ‘*’ -exec
sha256sum {} 1>/home/user/usershasum.txt 2>/dev/null ;

Was hast Du eigentlich für eine Shell? Das „>“ vor dem find ist zumindest unkonventionell. Und manch eine Shell möchte die geschweifen Klammern quotiert haben.

oder auch > find /home/user -name ‘*’ -exec ls -Ad {}
>/home/user/dateiliste.txt ; funktioniert bei mir seit je her
bestens

Echt? mit dem „>“ vor dem find?

wie noch viele Befehlsformen mehr von „find“, also auf
was willst du hinaus?

Mancheine Shell möchte die geschweiften Klammern quotiert haben.

Thema ist damit abgeschlossen!

Dann ist ja gut.