Powiedzmy mam folder z następujących plików: JPEGbash filename masek - działać na plikach wyjściowych z kapitałem
adfjhu.jpg Afgjo.jpg
Bdfji.jpg bkdfjhru.jpg
Cdfgj.jpg cfgir.jpg
Ddfgjr.jpg dfgjrr.jpg
Jak mogę usunąć lub listę plików, które zaczyna się od kapitału?
Można to rozwiązać za pomocą kombinacji find
, grep
i xargs
.
Ale jest to możliwe przy normalnym dopasowywaniu plików/wzorców w bash?
cmd poniżej nie działa ze względu na fakt, że (o ile wiem) LANG jest ustawione na en_US
i kolejność sortowania.
$ ls [A-Z]*.jpg
Afgjo.jpg Bdfji.jpg bkdfjhru.jpg Cdfgj.jpg cfgir.jpg Ddfgjr.jpg dfgjrr.jpg
Ten rodzaj prac
$ ls +(A|B|C|D)*.jpg
Afgjo.jpg Bdfji.jpg Cdfgj.jpg Ddfgjr.jpg
Ale nie chcę to zrobić dla wszystkich znaków A-Z dla ogólnego rozwiązania!
Czy to możliwe?
okrzyki // Fredrik
Co ciekawe, na moim Linuksie z LANG ustawiona na „en_US.UTF-8”, „ls [AZ] *” daje wszystkie te niższe przypadków, jak również, ale na moim Macintoshu z LANG ustawionym na "en_US.UTF-8", "ls [AZ] *" nadaje tylko nazwy uppper case. Na żadnym z pól nie ma ustawionego LC_COLLATE, więc nie wiem, jaka jest różnica. –