Özet
sort [-bcCdfghiRMmnrsuVz] [-k alan1[,alan2]] [-S bellek_boyutu] [-T dizin] [-t karakter] [-o çıktı] [dosya ...]
sort --help
sort --version
Açıklama
sort aracı, belirtilen dosyaların satırlarını sıralı biçimde standart çıktıya yazar.
Dosya belirtilmezse veya dosya adı - ise standart girdi okunur.
Temel Seçenekler
-c,--check,-C,--check=silent|quiet: Girişin sıralı olup olmadığını denetler.-Cveya--check=silent|quietkullanılırsa uyarı yazdırılmaz.-m,--merge: Zaten sıralı olduğu varsayılan dosyaları birleştirir; ek sıralama yapmaz.-o çıktı,--output=çıktı: Sonucu standart çıktı yerine belirtilen dosyaya yazar. Çıktı dosyası, giriş dosyalarından biriyle aynı olabilir.-S boyut,--buffer-size=boyut: Bellekte tutulacak sıralama arabelleğinin boyutunu belirtir.-T dizin,--temporary-directory=dizin: Geçici dosyalar için kullanılacak dizini belirtir.-u,--unique: Eşit karşılaştırılan satırlardan yalnızca birini çıktılar.-s,--stable: Son çare karşılaştırmasını devre dışı bırakır; eşit karşılaştırılan satırların göreli sırası korunur.--version: Sürüm bilgisini yazdırır ve çıkar.--help: Kullanım bilgisini yazdırır ve çıkar.
Sıralama Seçenekleri
-b,--ignore-leading-blanks: Başta gelen boşluk karakterlerini yok sayar.-d,--dictionary-order: Karşılaştırmada yalnızca boşlukları ve alfasayısal karakterleri dikkate alır.-f,--ignore-case: Küçük harfleri büyük harf eşdeğerleri gibi değerlendirir.-g,--general-numeric-sort: Genel sayısal karşılaştırma yapar. Bu seçenek, kayan noktalı sayıları ve özel değerleri işleyebilir.-h,--human-numeric-sort:K,M,Ggibi insan tarafından okunabilir boyut soneklerini sayısal olarak karşılaştırır.-i,--ignore-nonprinting: Yazdırılamayan karakterleri yok sayar.-M,--month-sort: Üç harfli ay adlarını takvim sırasına göre karşılaştırır.-n,--numeric-sort: Sayısal karşılaştırma yapar.-R,--random-sort: Satırları rastgele sıraya göre karşılaştırır.-r,--reverse: Karşılaştırma sonucunu tersine çevirir.-V,--version-sort: Sürüm numaralarını doğal sürüm sırasına göre karşılaştırır.
-V seçeneği özellikle sürüm numarası içeren dosya adlarında kullanışlıdır:
ls sort* | sort -V
Örnek çıktı:
sort-1.022.tgz
sort-1.23.tgz
sort-1.23.1.tgz
sort-1.024.tgz
sort-1.024.003.
sort-1.024.003.tgz
sort-1.024.07.tgz
sort-1.024.009.tgz
Alan ve Kayıt Sınırlayıcıları
-b,--ignore-leading-blanks: Alan başlangıçlarında baştaki boşlukları yok sayar. Bu seçenek genel sıralama seçeneği olarak da kullanılabilir.-k alan1[,alan2],--key=alan1[,alan2]: Sıralama anahtarını belirtir. Anahtar,alan1konumunda başlar vealan2konumunda biter.alan2belirtilmezse anahtar satır sonuna kadar uzanır.-t karakter,--field-separator=karakter: Alan ayırıcı karakterini belirtir. Varsayılan olarak boşluk karakterleri alan ayırıcı olarak kullanılır.-z,--zero-terminated: Kayıtları yeni satır yerine NUL karakteriyle sonlandırır.
Diğer Seçenekler
--batch-size=sayı: Aynı anda birleştirilecek dosya sayısını sınırlar.--compress-program=PROGRAM: Geçici dosyaları sıkıştırmak ve açmak için belirtilen programı kullanır.--random-source=dosya: Rastgele sıralama için kullanılacak rastgele baytları belirtilen dosyadan okur.--debug: Kullanılan sıralama anahtarlarını çıktıda işaretler ve olası kullanım sorunları hakkında uyarır.--parallel=sayı: Sıralama için kullanılacak iş parçacığı sayısını belirtir.--files0-from=dosya: Giriş dosyalarının adlarını belirtilen dosyadan, NUL ile ayrılmış olarak okur.--radixsort: Radix sort algoritmasını kullanır.--mergesort: Merge sort algoritmasını kullanır.--qsort: Quick sort algoritmasını kullanır.--heapsort: Heap sort algoritmasını kullanır.--mmap: Giriş dosyalarını okumak içinmmap(2)kullanır.
Terimler
sort girdiyi satırlara, satırları da alanlara ayırır.
dosya: Sıralanacak giriş dosyasıdır. Dosya belirtilmezse veya-verilirse standart girdi kullanılır.alan: Varsayılan olarak boşluklarla ayrılmış bir satır parçasıdır.anahtar:-kseçeneğiyle seçilen, karşılaştırmada kullanılacak alan aralığıdır.alan1vealan2:alan[.karakter][seçenekler]biçiminde belirtilebilir. Alan numaraları 1'den başlar; karakter konumları da alan içinde 1'den başlar.
Ortam
Aşağıdaki ortam değişkenleri sort davranışını etkiler:
LC_COLLATE: Karakterlerin sıralama düzenini belirler.LC_CTYPE: Karakter sınıflarını ve karakterlerin yorumlanmasını belirler.LC_MESSAGES: Tanılama iletilerinin dilini belirler.LC_NUMERIC: Sayısal karşılaştırmalarda kullanılan yerel ayarları belirler.LC_TIME: Ay adlarının yorumlanmasını etkiler.LC_ALL: Ayarlanmışsa diğerLC_*değişkenlerini geçersiz kılar.LANG:LC_*değişkenleri ayarlanmamışsa varsayılan yerel ayarı sağlar.TMPDIR: Geçici dosyalar için varsayılan dizini belirler.-Tseçeneği bunu geçersiz kılar.GNUSORT_NUMERIC_COMPATIBILITY: GNUsortile sayısal karşılaştırma uyumluluğunu etkiler.GNUSORT_COMPATIBLE_BLANKS: GNUsortile boşluk karakteri yorumlama uyumluluğunu etkiler.
Dosyalar
/var/tmp/.bsdsort.PID.*: Geçici dosyalar./dev/random: Rastgele sıralama için varsayılan rastgelelik kaynağı.
Çıkış Durumu
0: Başarılı.1:-cveya-Cile yapılan denetimde giriş sıralı değil.2: Hata oluştu.
Ayrıca Bakınız
comm(1), join(1), uniq(1)
Standartlar
sort aracı IEEE Std 1003.1-2008 ("POSIX.1") ile uyumludur.
Tarihçe
sort komutu AT&T UNIX'in ilk sürümlerinden beri bulunmaktadır.
Bu sort uygulaması FreeBSD için yeniden yazılmıştır ve macOS'te de kullanılmaktadır.
Yazarlar
sort uygulamasının bu sürümü Gabor Kovesdan <gabor@FreeBSD.org> ve Oleg Moskalenko <mom040267@gmail.com> tarafından yazılmıştır.
Notlar
Bu uygulamada giriş satırı uzunluğu için sabit bir sınır yoktur. Belleğe sığmayan veriler gerektiğinde geçici dosyalar üzerinden sıralanır.
Performans; yerel ayar, sıralama anahtarı sayısı, giriş büyüklüğü, geçici dizinin hızı ve seçilen algoritma gibi etkenlere bağlıdır.