Próbuję znaleźć wszystkie pliki, dla których nazwa zaczyna się wielką literą. Próbowałem użyć następującego polecenia:
find . -type f -regex '.*\/[A-Z][^/]*'
Znajduje ścieżki zawierające tylko małe litery. Następujące prace:
find . -type f -regex '.*\/[ABCDEFGHIJKLMNOPQRSTUVWXYZ][^/]*'
Podobnie jak:
find . -type f | grep '.*\/[A-Z][^/]*$'
Wypróbowałem wszystkie różne opcje regextype
, z tym samym rezultatem.
Dlaczego find
zawiera małe litery [A-Z]
? Myślałem, że to regex [a-zA-Z]
. Czy jest jakiś sposób, aby określić zakres tylko wielkich liter find
?
LC_ALL=C find ...
?\/
)? Jakiego znaleziska używasz (find --version
)?/
jest konieczna tylko wtedy, gdy używasz jej jako separatora, nps/foo\/bar/foobar/
. W. (Ale często możesz użyć innego ogranicznikas#foo/bar#foobar#
Odpowiedzi:
Nie musisz używać
-regex
. Zamiast tego możesz użyć-name
.źródło