jak pozbyć się ostrzeżeń przy użyciu funkcji znajdź


0

Dostaję wiele ostrzeżeń, gdy szukam określonego pliku w katalogu z wieloma wiszącymi linkami. Próbowałem użyć opcji -nowarn, aby pozbyć się ostrzeżeń, ale na próżno. Pojawiają się ostrzeżenia:

find: ./foo/bar: No such file or directory

1
Czy możesz podać wersję znalezionego systemu operacyjnego, której używasz, i podać dokładny wiersz polecenia. Próbowałem prostego przykładu i nie otrzymałem żadnych ostrzeżeń o wiszących dowiązaniach symbolicznych.
Peter Eisentraut

Wydaje mi się, że nie używasz polecenia poprawnie, ale naprawdę musisz podać dodatkowe informacje, aby uzyskać coś pomocnego.
phunehehe

Oprócz wersji OS / find pomocne może być określenie wypróbowanych linii poleceń. Pomocne ls -lmogą być również przykładowe dane wyjściowe z tych poleceń i dla danego katalogu. Szczegółowe pytania ułatwiają respondentom udzielenie odpowiednich odpowiedzi.
David Spillett

Odpowiedzi:


2

Możesz przekierować, stderraby /dev/nullpolubić następujące przykłady:

find . -type f 2> /dev/null
find . -type f -print0 2> /dev/null | xargs -0 ls -l

choć chodzi tutaj o to, że ignorujesz wszystkie błędy zgłaszane przez stderr find, więc usuwaj wiszące dowiązania symboliczne, jeśli nie są potrzebne (mogą być wymagane, jeśli odnoszą się do systemów plików, które nie są teraz zamontowane, ale będą później, na przykład , ale jeśli nie ma powodu, aby byli obecni, pozbyć się ich zamiast próbować ukryć ostrzeżenia przed nimi) byłby pierwszym wyborem rozwiązania.


Jeśli chcesz po prostu pozbyć się ostrzeżeń (tj.
Ich
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.