← man/data_processing
jot — man jot — 80×24
ugur@toprak:~/man/data_processing$man jot
Bölüm 1 Veri İşleme

jot

sıralı veya rastgele veri yazdır

Özet

     jot [-cnr] [-b sözcük] [-w sözcük] [-s dizge] [-p duyarlılık] [tekrar [başlangıç [bitiş [s]]]]

Açıklama

jot yardımcı programı, genellikle sayılar olmak üzere artan, azalan, rastgele veya yinelenen verileri her satırda bir tane olacak şekilde yazdırmak için kullanılır.

Aşağıdaki seçenekler kullanılabilir:

  • -r: Varsayılan sıralı veri yerine rastgele veri üretir.

-b sözcük Sadece sözcük sözcüğünü sürekli olarak yazdırır.

-w sözcük sözcük sözcüğünü, üretilen veri sonuna eklenmiş olarak yazdırır. sözcük içinde uygun printf(3) dönüştürme belirteci kullanılarak sekizlik (octal), onaltılık (hexadecimal), üstel (exponential), ASCII, sıfır dolgulu (zero padded) ve sağa hizalı gösterimler mümkündür; bu durumda veri sonuna eklenmek yerine içine yerleştirilir.

  • -c: Bu, -w %c seçeneğinin kısaltmasıdır.

-s dizge Verileri dizge ile ayrılmış olarak yazdırır. Normalde verileri yeni satırlar (newline) ayırır.

  • -n: Çıktının sonuna normalde eklenen son yeni satır karakterini yazdırmaz.

-p duyarlılık Verilerin yalnızca tamsayı duyarlılık tarafından belirtilen sayıda basamağını veya karakterini yazdırır. -p seçeneğinin yokluğunda duyarlılık, başlangıç ve bitiş duyarlılıklarından büyük olanıdır. -p seçeneği, -w seçeneğinden sonra gelen bir printf(3) dönüştürmesinde görünen herhangi bir şey tarafından geçersiz kılınır.

Son dört argüman sırasıyla veri sayısını, alt sınırı, üst sınırı ve adım boyutunu ya da rastgele veri için tohumu (seed) belirtir. Bunlardan en az birinin belirtilmesi gerekirken, diğer üçünden herhangi biri atlanabilir ve - veya boş bir dizge olarak verilirse atlanmış sayılır. Bu argümanlardan herhangi üçü dördüncüyü belirler. Dört argüman da belirtilirse ve tekrar'ın verilen ve hesaplanan değerleri çelişirse, küçük olan değer kullanılır. Bir veya iki argüman belirtilirse, varsayılan değer 1 (veya başlangıç ve bitiş azalan bir aralık belirtiyorsa -1) varsayılanını alan s ile başlayarak atanır. Ardından, üç argüman ayarlanana kadar en soldaki atlanan argümanlara varsayılan değerler atanır.

Rastgele veri istendiğinde s tohumunun rastgele seçilmesi dışında, dört argüman için varsayılan değerler sırasıyla 100, 1, 100 ve 1'dir. tekrar argümanının işaretsiz bir tamsayı olması beklenir ve sıfır olarak verilirse sonsuz olarak kabul edilir. başlangıç ve bitiş argümanları reel sayılar olarak veya ASCII'deki karşılık gelen değeri temsil eden karakterler olarak verilebilir. Son argüman bir reel sayı olmalıdır.

Herhangi bir tohum belirtilmediğinde rastgele sayılar arc4random(3) aracılığıyla, bir tohum verildiğinde ise random(3) aracılığıyla elde edilir. jot'tan rastgele sayı üreteci işlevinin aralığında başlangıç ve bitiş değerlerine sahip rastgele tamsayılar veya karakterler üretmesi istendiğinde ve -w, -b veya -p seçeneklerinden biriyle hiçbir biçim belirtilmediğinde, jot aralıktaki tüm değerlerin çıktıda eşit olasılıkla görünmesini sağlayacaktır. Diğer tüm durumlarda, çıktı biçiminin yuvarlama veya kırpmasının, çıktı değerlerinin dağılımını istenmeyen bir şekilde saptırmadığından emin olmak için dikkatli olun.

jot adı kısmen APL'deki bir işlev olan iota'dan türetilmiştir.

Yuvarlama ve kırpma

jot yardımcı programı dahili olarak çift duyarlıklı kayan noktalı aritmetik (double precision floating point) kullanır. Bir sayı yazdırılmadan önce, kullanılan çıktı biçimine bağlı olarak dönüştürülür.

Çıktı biçimi belirtilmemişse veya çıktı biçimi kayan noktalı bir biçimse (‘E’, ‘G’, ‘e’, ‘f’ veya ‘g’), değer istenen duyarlılık dikkate alınarak printf(3) işlevi kullanılarak yuvarlanır.

Çıktı biçimi bir tamsayı biçimiyse (‘D’, ‘O’, ‘U’, ‘X’, ‘c’, ‘d’, ‘i’, ‘o’, ‘u’ veya ‘x’), değer kırpılarak bir tamsayı değerine dönüştürülür.

Örnek olarak aşağıdaki komutu inceleyin:

$ jot 6 1 10 0.5
1
2
2
2
3
4

Açıkça 1 duyarlılık isteyerek, yuvarlamadan önce üretilen değerler görülebilir. .5 değerleri, tamsayı kısmı çift ise aşağı, aksi takdirde yukarı yuvarlanır.

$ jot -p 1 6 1 10 0.5
1.0
1.5
2.0
2.5
3.0
3.5

Değerler hafifçe kaydırılarak, aşağıdaki komut tarafından üretilen değerler her zaman aşağı yuvarlanır:

$ jot -p 0 6 .9999999999 10 0.5
1
1
2
2
3
3

Aynı sonucu elde etmenin bir başka yolu da, bir tamsayı biçimi belirterek kırpmaya zorlamaktır:

$ jot -w %d 6 1 10 0.5

Çıkış Durumu

jot yardımcı programı başarı durumunda 0, bir hata oluşursa >0 değeriyle çıkar.

Örnekler

     Komut
	   jot - 1 10

     1'den 10'a kadar olan tamsayıları yazdırırken, şu komut
	   jot 21 -1 1.00

     -1'den 1'e kadar artan 21 adet eşit aralıklı sayı yazdırır. ASCII karakter kümesi şu şekilde üretilir:
	   jot -c 128 0

     ve xaa'dan xaz'ye kadar olan dizgeler şu şekilde:
	   jot -w xa%c 26 a

     ve 20 adet rastgele 8 harfli dizge şu şekilde üretilir:
	   jot -r -c 160 a z | rs -g 0 8

     Sonsuz sayıda yes şu şekilde elde edilebilir:
	   jot -b yes 0

     ve 2, 7, 12 vb. satırlara uygulanan otuz adet ed(1) değiştirme komutu şu komutun sonucudur:
	   jot -w %ds/old/new/ 30 2 - 5

     Yinelenen 9, 9, 8, 8, 7 vb. dizisi, çıktı duyarlılığını kırparak ve adım boyutunun uygun bir seçimiyle şu şekilde üretilebilir:
	   jot -w %d - 9.5 0 -.5

     ve tam olarak 1024 bayt içeren bir dosya şu şekilde oluşturulur:
	   jot -b x 512 > block

     Son olarak, 10. sütundan başlayıp 132. sütunda biten ve aralarında dört boşluk bulunan sekmeler ayarlamak için şunu kullanın:
	   expand -`jot -s, - 10 132 4`

     ve 80 karakter veya daha uzun olan tüm satırları yazdırmak için:
	   grep `jot -s "" -b . 80`

Teşhisler

Aşağıdaki teşhis mesajları özel bir açıklamayı hak etmektedir:

illegal or unsupported format '%s' printf(3) için istenen dönüştürme biçimi belirteci şu biçimde değildi: %[#][ ][{+,-}][0-9][.[0-9]]? burada “?” şunlardan biri olmalıdır: [l]{d,i,o,u,x} veya {c,e,f,g,D,E,G,O,U,X}

range error in conversion Yazdırılacak bir değer, istenen çıktı biçimiyle ilişkili veri türünün sınırlarının dışına çıktı.

too many conversions Birden fazla dönüştürme biçimi belirteci sağlandı, ancak yalnızca bir tanesine izin verilir.

Ayrıca Bakınız

ed(1), expand(1), rs(1), seq(1), yes(1), arc4random(3), printf(3), random(3)

Tarihçe

jot yardımcı programı ilk olarak 4.2BSD'de göründü.

Yazarlar

John A. Kunze

macOS 26.4 21 Eylül 2019 macOS 26.4