Czy rozszerzenie znaku wieloznacznego w Bash jest gwarantowane w kolejności alfabetycznej? Jestem zmuszony podzielić duży plik na 10 Mb, aby mogły zostać zaakceptowane przez moje repozytorium Mercurial.
Pomyślałem więc, że mogę użyć:
split -b 10485760 Big.file BigFilePiece.
a następnie zamiast:
cat BigFile | bigFileProcessor
Mógłbym zrobić:
cat BigFilePiece.* | bigFileProcessor
Na swoim miejscu.
Jednak nie mogłem znaleźć nigdzie, co gwarantowałoby, że rozwinięcie gwiazdki (aka wildcard, aka *
) zawsze będzie w kolejności alfabetycznej, tak aby .aa
było wcześniej .ab
(w przeciwieństwie do kolejności znaczników czasu lub czegoś podobnego).
Czy są jakieś wady mojego planu? Jak duży jest koszt wydajności cat
wspólnego utworzenia pliku?
sort
jeśli potrzebujesz dodatkowej manipulacji zamówieniem.
hg commit
na N
pliku MB wymaga około 3 * N
MB pamięci RAM i hg update
wymaga około 2 * N
MB pamięci RAM. Dotyczy to Mercurial 1.5 w systemie Linux.