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?
Odpowiedzi:
...
źródło
Lepiej jest używać iname (bez rozróżniania wielkości liter).
Używam tego polecenia find do wyszukiwania ukrytych plików:
Wyodrębniono z: http://www.sysadmit.com/2016/03/linux-ver-archivos-ocultos.html
źródło
Problemem jest grep, a nie znalezisko (spróbuj tylko
find . -type f
zobaczyć, 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.źródło