Sözdizimi
rs [-[csCS][x] [kKgGw][N] tTeEnyjhHmz] [rows [cols]]
Açıklama
rs yardımcı programı, standart girdiyi okur, her satırı bir dizideki boşluklarla ayrılmış öğeler olarak yorumlar, diziyi seçeneklere göre dönüştürür ve standart çıktıya yazar. Herhangi bir argüman verilmediğinde, akış girdisini terminalde görüntülemeye uygun sütunlu bir biçime dönüştürür.
Girdi dizisinin boyutu, satır sayısından ve ilk satırdaki sütun sayısından çıkarılır. Eğer bu boyut elverişsizse, -k seçeneği ile girdinin bir kısmı atlanarak daha kullanışlı bir boyut elde edilebilir. Diğer seçenekler, girdi sütunlarının yorumlanmasını denetler.
Çıktı dizisinin boyutu, pozitif tamsayılar olması gereken rows ve cols belirtimlerinden etkilenir. Bunlardan yalnızca biri pozitif bir tamsayı ise, rs tüm verileri sığdıracak şekilde diğeri için bir değer hesaplar. Gerektiğinde, eksik veriler seçenekler tarafından belirtilen şekilde tamamlanır ve fazla veriler silinir. Satırların ve sütunların transpoze edilmesi de dahil olmak üzere, çıktı sütunlarının sunumunu denetleyen seçenekler mevcuttur.
Aşağıdaki seçenekler mevcuttur:
-cx: Girdi sütunları tek bir x karakteriyle sınırlandırılır. x'in belirtilmediği durumlarda `^I' (Tab) kabul edilir.-sx: -c seçeneğine benzer, ancak x karakterinin en büyük dizilimleri sınırlayıcı olarak kabul edilir.-Cx: Çıktı sütunları tek bir x karakteriyle sınırlandırılır. x'in belirtilmediği durumlarda `^I' kabul edilir.-Sx: -C seçeneğine benzer, ancak dolgulu x dizilimleri sınırlayıcı olarak kabul edilir.-t: Çıktı dizisinin satırlarını, girdi dizisinin sütunlarını kullanarak doldurur; yani rows ve cols özelliklerini gözeterek girdinin transpozunu alır.-T: Herhangi bir rows veya cols özelliğini yok sayarak girdinin saf transpozunu yazdırır.-kN: Girdinin ilk N satırını yok sayar.-KN: -k seçeneği gibidir, ancak yok sayılan satırları yazdırır.-gN: Normalde 2 olan sütunlar arası boşluk (gutter width) genişliği N olarak alınır.-GN: Sütunlar arası boşluk genişliğine maksimum sütun genişliğinin yüzde N'si eklenir.-e: Girdinin her satırını bir dizi öğesi (entry) olarak kabul eder.-n: İlk satırdan daha az öğeye sahip satırlarda, satırı doldurmak için boş (null) öğeler kullanır. Normalde eksik öğeler girdinin bir sonraki satırından alınır.-y: Çıktı boyutlarını oluşturmak için çok az öğe varsa, girdiyi baştan itibaren tekrarlayarak (recycling) çıktıyı doldurur. Normalde çıktı boşluklarla doldurulur.-h: Girdi dizisinin boyutlarını yazdırır ve başka hiçbir şey yapmaz. Boyut, yalnızca satır sayısı ve ilk satırdaki öğe sayısıdır.-H: -h seçeneği gibidir, ancak her satırın uzunluğunu da yazdırır.-j: Öğeleri sütunlar içinde sağa yaslar (right adjust).-wN: Normalde 80 olan ekran genişliği, pozitif bir tam sayı olan N olarak alınır.-m: Çıktı dizisinin sonlarındaki fazla sınırlayıcıları kırpmaz.-z: Sütun genişliklerini, içlerinde görünen en büyük öğelere sığacak şekilde ayarlar.
Hiçbir argüman verilmediğinde, rs girdisinin transpozunu alır ve yok sayılmayan ilk satır ekran genişliğinden daha uzun olmadığı sürece girdi satırı başına bir dizi öğesi varsayar. Sayısal argüman alan seçenek harfleri, aksi belirtilmedikçe belirtilmeyen sayıları sıfır olarak yorumlar.
Örnekler
rs yardımcı programı, belirli programların (örn. spell(1), du(1), file(1), look(1), nm(1), who(1) ve wc(1)) akış (stream) çıktısını kullanışlı bir ``pencere'' (window) biçimine dönüştürmek için bir filtre olarak kullanılabilir, örneğin:
% who | rs
Bu işlev ls(1) programına dahil edilmiştir, ancak benzer çıktıya sahip çoğu program için rs yeterlidir.
Akış girdisini vektör çıktısına dönüştürmek ve tekrar geri almak için şunu kullanın:
% rs 1 0 | rs 0 1
1 ile 100 arasında rastgele sayılardan oluşan 10'a 10'luk bir dizi ve bunun transpozu şu şekilde üretilebilir:
% jot -r 100 | rs 10 10 | tee array | rs -T > tarray
vi(1) düzenleyicisinde, satır başına 9 öğe içeren çok satırlı bir vektörden oluşan bir dosyada eklemeler ve silmeler yapılabilir ve ardından şu komutla düzgün bir şekilde 9 sütun halinde yeniden boyutlandırılabilir:
:1,$!rs 0 9
Son olarak, bir veritabanını her 4 satırlık alanın ilk satırına göre sıralamak için şunu deneyin:
% rs -eC 0 4 | sort | rs -c 0 1
Ayrıca Bakınız
jot(1), pr(1), sort(1), vi(1)
Tarihçe
rs yardımcı programı ilk olarak 4.2BSD'de ortaya çıktı.
Yazarlar
John A. Kunze
Hatalar
Yalnızca iki boyutlu dizileri destekler.
Algoritma şu anda dosyanın tamamını belleğe okur, bu nedenle belleğe sığmayan dosyalar yeniden boyutlandırılamaz.
Karakter konumlarında henüz alanlar tanımlanamaz.
Sütunların yeniden sıralanması henüz mümkün değildir.
Çok fazla seçenek var.
Çoklu bayt (multibyte) karakterler tanınmaz.
LINE_MAX (2048) bayttan uzun satırlar işlenmez ve rs'in hemen sonlanmasına neden olur.
macOS 26.4 7 Nisan 2015 macOS 26.4