Diciamo che ho una cartella con i seguenti jpeg-files:bash filename globbing - operare su file che iniziano con capitale
adfjhu.jpg Afgjo.jpg
Bdfji.jpg bkdfjhru.jpg
Cdfgj.jpg cfgir.jpg
Ddfgjr.jpg dfgjrr.jpg
Come posso rimuovere o elencare i file che inizia con la A maiuscola?
Questo problema può essere risolto con una combinazione di find
, grep
e xargs
.
Ma è possibile con la normale corrispondenza tra file e pattern in bash?
cmd di seguito non funziona a causa del fatto che (per quanto posso dire) LANG è impostato su en_US
e l'ordine di confronto.
$ ls [A-Z]*.jpg
Afgjo.jpg Bdfji.jpg bkdfjhru.jpg Cdfgj.jpg cfgir.jpg Ddfgjr.jpg dfgjrr.jpg
Questo tipo di opere
$ ls +(A|B|C|D)*.jpg
Afgjo.jpg Bdfji.jpg Cdfgj.jpg Ddfgjr.jpg
Ma io non voglio fare questo per tutti i caratteri A-Z per una soluzione generale!
Quindi è possibile?
applausi // Fredrik
È interessante notare che, sulla mia macchina Linux con LANG impostato su "en_US.UTF-8", "ls [AZ] *" dà tutte quelle minuscole pure, ma sul mio Macintosh con LANG impostato su "en_US.UTF-8", "ls [AZ] *" fornisce solo nomi maiuscoli. Su nessuna delle due caselle è impostato LC_COLLATE, quindi non so quale sia la differenza. –