2013-04-30 22 views

Odpowiedz

49

Sprawdź ponownie man page;) To:

find /path/to/files -type f 

type f wyszukiwania dla zwykłych plików tylko - z wyłączeniem dowiązania symboliczne.

+1

ha ha, tak ok, myślałem, że zwykły plik zawiera dowiązania symboliczne. Przepraszam za to. Cóż, dostaniesz punkty za łatwe pytanie :) – Barth

+0

teraz wiesz .. :) – hek2mgl

+1

tutaj dopasowałeś dowiązania symboliczne do zwykłych plików, musiałem użyć '-type f -xtype f' –

1

Czy chcesz, aby śledził dowiązania symboliczne, ale ich nie zwraca (jeśli pasują do twojego wzoru)?

find -H?

man find 
    ... 
    -H  Cause the file information and file type (see stat(2)) returned for each symbolic link specified on the command line to be those of 
      the file referenced by the link, not the link itself. If the referenced file does not exist, the file information and type will be 
      for the link itself. File information of all symbolic links not on the command line is that of the link itself. 

    -L  Cause the file information and file type (see stat(2)) returned for each symbolic link to be those of the file referenced by the 
      link, not the link itself. If the referenced file does not exist, the file information and type will be for the link itself. 

      This option is equivalent to the deprecated -follow primary. 
9
! -type l 

Na przykład, jeśli chcesz wyszukać wszystkie pliki w/usr/bin, z wyłączeniem miejsce linku:

find /usr/bin/ \! -type l 
+0

Nie -tyl l będzie szukał TYLKO dla dowiązań symbolicznych. Strona kasowa: strona – laserbeamer

+1

Negatywny test z "!" (pling) - który powinien zostać w razie potrzeby usunięty - zwróci wszystko, co NIE jest dowiązaniem symbolicznym. – MikeW

0

Mam odczytanej mężczyzna i teraz wydaje się to -P również, użycie -type r spowodowałoby błąd. również zauważyć, jest zachowanie DEFAULT teraz.

-P Nigdy nie podążaj za dowiązaniami symbolicznymi. Jest to domyślne zachowanie . Kiedy find sprawdza lub drukuje plik, a plik jest dowiązaniem symbolicznym, używane informacje będą pobierane z właściwości samego dowiązania symbolicznego z poziomu .

+1

Tak, ale OP nie chce żadnych wyników pochodzących z dowiązania symbolicznego - przypuszczam, że unikam powielania przetwarzania, ponieważ 'find' prawdopodobnie zwróci zarówno "prawdziwy" plik, jak i adresowany przez dowiązanie symboliczne do tego samego "prawdziwego" pliku. – MikeW

0

Działa to dla mnie:

find -H. -maxdepth 1 -type f

Właściwie, naprawdę nie trzeba -h

Powiązane problemy