find . -iname '*foo*' Permission denied
-
Hoffe das passt hier rein
Immer wenn ich etwas im Netzwerk über mehrere Ordner / Benutzer suchen muss bekomme ich viele Permission denied Fehlermeldungen. Und irgendwo dazwischen finde ich dann meistens das was ich gesucht habe...
Habe sie mit grep nicht wegbekommen. Gibst da eine Lösung ?
-
Redirection.
grep
aufstdout
hilft Dir nicht, weil die Fehlermeldungen nachstderr
geschrieben werden.find . -iname '*foo*' 2> /dev/null
-
Die Fehlermeldungen werden auch auf stderr ausgegeben, also hilft ein
2> /dev/null
um diese zu verwerfen.Edit: Zu langsam
-
Geht leider nicht
find . -iname '*test*' 2 > /dev/null
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]uname -a
Linux 2.6.18-164.el5xen #1 SMP Tue Aug 18 15:59:52 EDT 2009 x86_64 x86_64 x86_64 GNU/Linux
-
2>
, ohne ein Leerzeichen dazwischen.
-
lagalopex schrieb:
2>
, ohne ein Leerzeichen dazwischen.danke aber trotzdem gehts noch immer nicht.
find . -iname '*foo*' 2> /dev/null
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]Leider geht das noch immer nicht
-
Bullz schrieb:
find . -iname '*foo*' 2> /dev/null
find: paths must precede expression
Usage: find [-H] [-L] [-P] [path...] [expression]Wenn ich das kopiere, funtioniert es einwandfrei. Was für eine Shell benutzt du denn? (bash, ksh, csh, …)
-
tcsh shell. Unter der Bash shell funktioniert der Befehl in der Tat. Hast du eine Idee wie ich das auch unter meiner SHELL zum laufen bekomme ? Arbeite großteils mit ihr.
-
Bullz schrieb:
tcsh shell. Unter der Bash shell funktioniert der Befehl in der Tat. Hast du eine Idee wie ich das auch unter meiner SHELL zum laufen bekomme ? Arbeite großteils mit ihr.
wird nicht so einfach funktionieren, da die tcsh die Umleitung nur von stderr nicht unterstützt:
aus der manpage von tcsh
The shell cannot presently redirect diagnostic output
without also redirecting standard output, but(command > output-file) >& error-file' is often an acceptable workaround. Either output-file or error-file may be
/dev/tty' to send output to the terminal.
-
Bullz schrieb:
tcsh shell. Unter der Bash shell funktioniert der Befehl in der Tat. Hast du eine Idee wie ich das auch unter meiner SHELL zum laufen bekomme ? Arbeite großteils mit ihr.
Als nicht ganz so hübschen workaround kannst du
bash -c "find . -iname '*foo*' 2> /dev/null"
Der Beitrag ging bei der Forumswiederherstellung wohl verloren.