Jak wyświetlić ukryte pliki za pomocą polecenia Linux `find`


19

Na serwerze Linux muszę znaleźć wszystkie pliki z pewnym rozszerzeniem w bieżącym katalogu i wszystkich podkatalogach.

Wcześniej zawsze używałem następującego polecenia:

find . -type f | grep -i *.php

Jednak nie znajduje ukrytych plików, na przykład .myhiddenphpfile.php . Poniżej znajduje się ukryte pliki php, ale nie te nie ukryte:

find . -type f | grep -i \.*.php

Jak mogę znaleźć zarówno ukryte, jak i nie ukryte pliki php w tym samym poleceniu?


1
Wiesz, że „re” w „grep” oznacza „wyrażenie regularne”, prawda? Nie mam pojęcia, jak powinna działać jedna z tych linii poleceń ...
Ignacio Vazquez-Abrams

Odpowiedzi:




0

Problemem jest grep, a nie znalezisko (spróbuj tylko find . -type fzobaczyć, co mam na myśli).

Jeśli nie zacytujesz, *powłoka ją rozwinie - zanim grep zobaczy nawet argumenty wiersza poleceń; ponieważ powłoka domyślnie nie znajduje ukrytych plików, będziesz mieć problemy.

Powodem, dla którego odnajduje tylko ukryty plik, jest to, że powłoka już go rozszerzyła, *dlatego grep dopasowuje tylko ten jeden plik.

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.