Ho notato per un po 'che, su alcuni dei sistemi basati su Unix che uso almeno, ls [A-Z]*
mi ha dato i risultati che avrei anticipato dal ls [A-Za-z]*
, lasciandomi in grado di ottenere facilmente un elenco di solo i maledetti file che iniziano con lettere maiuscole. Ora mi sono imbattuto nella stessa cosa con grep
, in cui non riuscivo a smettere di abbinare le lettere minuscole con [A-Z]
fino a quando non ho usato lo grep -P
per ottenere un'espressione regolare Perl.Che succede con [A-Z] che significa [A-Za-z]?
Così ho alcune domande relative:
- Quando è iniziato questo idiozia?
- Chi è responsabile e deve essere punito?
- PERCHÉ ???
- Esiste qualche soluzione ragionevolmente semplice per uno o entrambi i casi
ls
egrep
? (Cercando, ad esempio,grep --no-ignore-case
era inutile.grep -P
non è una buona soluzione a causa del suo status di sperimentale caratteristica.)
'[[: upper:]]' è un'altra opzione. – wnoise
Ah, grazie. Ho una specie di allergia a quei costrutti e non li penso mai. – chaos
Si è imbattuto in questo mentre cercavo qualcosa di diverso, e facendo a mano a mano che le tue domande correlate mi hanno bloccato. :-) – KSwift87