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
?
\/
)? 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 ...
?