Muszę znaleźć wszystkie katalogi zawierające określoną postać w ich nazwie i wydrukować je.
Więc jeśli mam katalogi:
abc cde fgh
I szukam „c”, powinienem uzyskać:
abc
cde
Następujące polecenia wykonują wymagane zapytanie:
find -name "*c*" -type d
-name "*c*"
- z nazwą zawiera literę c
-type d
- które są katalogiemMożesz uruchomić polecenie w innym katalogu ( /full/path/to/dir
), używając:
find /full/path/to/dir -name "*c*" -type d
Więcej informacji Polecenie znajdowania nixCraft
-print
jest konieczne, jest to akcja domyślna. Ponadto, aby rozpocząć tylko od bieżącego katalogu, nie można podać ścieżki, ponieważ.
jest to ścieżka domyślna. Dobra odpowiedź. Symbole wieloznaczne mogą być pułapką, jak w tym pytaniu , cytowanie ich jest tutaj bardzo ważne.Jeśli
globstar
jest włączony, możesz z niego korzystaćPierwszy
**
będzie pasował do dowolnych ścieżek podkatalogu. Następnie*c*/
z dopasowanymi folderami ze znakiem cJeśli nie jest włączony, możesz go włączyć za pomocą
shopt -s globstar
źródło