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 findzawiera 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?
\/)? Jakiego znaleziska używasz ( find --version)?
/jest konieczna tylko wtedy, gdy używasz jej jako separatora, np s/foo\/bar/foobar/. W. (Ale często możesz użyć innego ogranicznika s#foo/bar#foobar#
LC_ALL=C find ...?