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

units

dönüştürme hesap makinesi

Sinopsis

     units [-ehqtUVv] [-f birim_dosyası] [-o format] [kaynak hedef]

Açıklama

units programı, çeşitli ölçeklerde ifade edilen miktarları diğer ölçeklerdeki eşdeğerlerine dönüştürür. Yalnızca çarpımsal veya afin ölçek değişikliklerini işleyebilir.

units, kullanıcıdan girdi isteyerek etkileşimli olarak (bkz. ÖRNEKLER) veya verilen kaynak ve hedef argümanları için bir dönüşüm sağlayarak etkileşimsiz olarak çalışabilir.

Aşağıdaki seçenekler mevcuttur:

-e, --exponential -o %6e ile aynıdır (-o bayrağının açıklamasına bakın).

-f birim_dosyası, --file birim_dosyası Yüklenecek birim veri dosyasının adını belirtir. Bu seçenek birden fazla kez belirtilebilir.

-H geçmiş_dosyası, --history geçmiş_dosyası GNU units ile uyumluluk için yoksayılır.

-h, --help Seçeneklerin genel bir özetini gösterir.

-o format, --output-format format Sayıların yazdırılacağı çıktı format dizesini seçer. Varsayılan değer “%.8g” şeklindedir.

-q, --quiet Kullanıcıdan birim istenmesini ve yüklenen birim sayısı hakkındaki istatistiklerin görüntülenmesini engeller.

-t, --terse Yalnızca sonucu yazdırır. Bu seçenek, kolay ayrıştırılabilir sonuçlar elde etmek amacıyla units programı diğer programlardan çağrıldığında kullanılır.

-U, --unitsfile Varsa varsayılan birim dosyasının konumunu yazdırır. Aksi takdirde bir hata mesajı yazdırır.

-v, --version Sürüm numarasını (“FreeBSD units” olarak sabittir) ve birim veri dosyasının yolunu yazdırıp çıkar.

-V, --verbose Dönüştürme çıktısında birimleri yazdırır. Genel olarak daha ayrıntılı bilgi verir.

kaynak hedef Tek bir birim dönüşümünün doğrudan komut satırından yapılmasına izin verir. Program girdi istemleri yazdırmaz. Belirtilen tek dönüşümün sonucunu yazdırır. Her iki argüman da, yani kaynak ve hedef, sadece bir birim (örneğin, “cm”), bir miktar (örneğin, “42”) veya birimle birlikte bir miktar (örneğin, “42 cm”) olabilir.

Matematiksel operatörler

  • Birimlerin kuvvetleri, örnekte gösterildiği gibi “^” karakteri kullanılarak veya doğrudan birleştirilerek belirtilebilir: “cm3”, “cm^3” ile eşdeğerdir. Üs değerlerinin sınırlandırılmasıyla ilgili ayrıntılar için HATALAR bölümüne bakın.
  • Birimlerin çarpımı boşluk (“ ”), kısa çizgi (“-”) veya yıldız işareti (“*”) kullanılarak belirtilebilir.
  • Birimlerin bölünmesi eğik çizgi (“/”) ile gösterilir.
  • Sayıların bölünmesi dikey çizgi (“|”) kullanılarak gösterilmelidir.

Çarpmanın bölmeden daha yüksek önceliğe sahip olduğunu unutmayın, bu nedenle “m/s/s”, “m/s^2” veya “m/s s” ile aynıdır.

Birimler Dönüştürme bilgisi bir birim veri dosyasından okunur. Varsayılan dosya; en bilindik birimler, kısaltmalar ve metrik önekler için tanımlamaları içerir. Dahil edilen bazı doğa sabitleri şunlardır:

pi çevrenin çapa oranı c ışık hızı e bir elektronun yükü g yerçekimi ivmesi force g ile aynı mole Avogadro sayısı water suyun birim yükseklik başına basıncı mercury cıvanın birim yükseklik başına basıncı au astronomik birim

“pound” birimi bir kütle birimidir. Bileşik isimler bir arada yazılır, dolayısıyla “pound force” bir kuvvet birimidir. “ounce” birimi de bir kütle birimidir. Sıvı ons “floz”dur. ABD'deki karşılıklarından farklı olan Britanya birimlerinin başına “br” eklenir ve para birimlerinin başına ülke adı eklenir: “belgiumfranc”, “britainpound”. Bir birim aranırken, belirtilen dize tam olarak bir birim adı olarak görünmiyorsa, units sondaki “s” veya “es” takısını kaldırmayı deneyecek ve eşleşme için tekrar kontrol edecektir.

Birim dosyası formatı Hangi birimlerin mevcut olduğunu öğrenmek için standart birimler dosyasını okuyun. Kendi birimlerinizi eklemek istiyorsanız kendi dosyanızı sağlayabilirsiniz. Bir birim, adı ve bir eşdeğeri verilerek tek bir satırda belirtilir. Yeni birimleri eski birimler cinsinden tanımlamaya dikkat edin, böylece bir indirgeme, “!” karakterleriyle işaretlenmiş ilkel birimlere ulaşır. units programı, dikkatsiz birim tanımlamalarından kaynaklanabilecek sonsuz döngüleri tespit etmeyecektir. Birim tanımlama dosyasındaki yorumlar, bir satırın başında “#” veya “/” karakteriyle başlar.

Önekler de standart birimlerle aynı şekilde tanımlanır, ancak önek adının sonunda bir kısa çizgi (“-”) yer alır. Sonundaki “s” veya “es” kaldırıldıktan sonra bile bir birim bulunamazsa, önek listesine göre kontrol edilecektir. Geçerli bir temel birim tanımlanana kadar önekler kaldırılacaktır.

Ortam

PATH units programının /usr/share/misc/definitions.units dosyasını bulmaya çalıştığı kök dizinlerin iki nokta üst üste ile ayrılmış listesi.

Örneğin, PATH değişkeni “/tmp:/:/usr/local” olarak ayarlanmışsa, hiçbir -f bayrağı sağlanmamışsa ve /usr/share/misc/definitions.units dosyası eksikse, units varsayılan birimler dosyası olarak şu dosyaları açmayı dener: /tmp/usr/share/misc/definitions.units, /usr/share/misc/definitions.units ve /usr/local/usr/share/misc/definitions.units.

Dosyalar

/usr/share/misc/definitions.units Standart birimler dosyası.

Çıkış Durumu

units aracı başarı durumunda 0, bir hata oluşursa >0 değeriyle çıkar.

Örnekler

     Örnek 1: Birimlerin basit dönüşümü

       Bu örnek, gigabayttan bayta gibi basit dönüşümlerin nasıl yapılacağını gösterir:

	 $ units -o %0.f -t '4 gigabytes' bytes
	 4294967296

       Sonucun bilimsel olmayan bir gösterimle yazdırılması için komutun -o %0.f kısmı gereklidir (örneğin, 4.29497e+09 yerine 4294967296).

     Örnek 2: Etkileşimli kullanım

       Kullanıcıdan birimlerin istendiği etkileşimli bir oturum örneği aşağıda gösterilmiştir:

	 You have: meters
	 You want: feet
		 * 3.2808399
		 / 0.3048

	 You have: cm^3
	 You want: gallons
		 * 0.00026417205
		 / 3785.4118

	 You have: meters/s
	 You want: furlongs/fortnight
		 * 6012.8848
		 / 0.00016630952

	 You have: 1|2 inch
	 You want: cm
		 * 1.27
		 / 0.78740157

	 You have: 85 degF
	 You want: degC
		 29.444444

     Örnek 3: “|” ve “/” bölmeleri arasındaki fark

       Aşağıdaki komut yarım metrenin santimetreye nasıl dönüştürüleceğini gösterir.

	 $ units '1|2 meter' cm
		 * 50
		 / 0.02

       units beklenen sonucu yazdırır çünkü sayılar için bölme operatörü (“|”) kullanılmıştır.

       Birimler için bölme operatörünün (“/”) kullanılması bir hataya yol açacaktır:

	 $ units '1/2 meter' cm
	 conformability error
		 0.5 / m
		 0.01 m

       Çünkü units “1/2 meter” ifadesini “cm” ile uyumlu olmayan “0.5/meter” olarak yorumlar.

     Örnek 4: Basit birimler dosyası
       Bazı temel birimleri tanımlayan kısa bir birimler dosyası örneği aşağıda gösterilmiştir:

	 m	   !a!
	 sec	   !b!
	 micro-    1e-6
	 minute    60 sec
	 hour	   60 min
	 inch	   0.0254 m
	 ft	   12 inches
	 mile	   5280 ft

     Örnek 5: Varsayılan birimler dosyasının birimlerini ve dönüşümlerini görüntüleme
       Aşağıdaki tek satırlık kabuk komutu, kullanıcının varsayılan birimler dosyasının içeriğini görüntülemesini sağlar:

	 $ less "$(units -U)"

Teşhis

can't find units file '%s' Varsayılan birimler dosyası varsayılan konumunda değil (bkz. DOSYALAR) ve kökleri PATH içindeki dizinlerde başlayan hiçbir dosya ağacında mevcut değil (bkz. ORTAM).

cap_rights_limit() failed Bkz. capsicum(4).

conformability error Verilen birimleri ortak bir birime indirgemek mümkün değildir: uyumlu değillerdir. Dönüşüm yerine, units sağlanan her birim için indirgenmiş formu görüntüler:

You have: ergs/hour You want: fathoms kg^2 / day conformability error 2.7777778e-11 kg m^2 / sec^3 2.1166667e-05 kg^2 m / sec

Could not initialize history Bkz. editline(3).

dupstr strdup(3) başarısız oldu.

memory for prefixes exceeded in line %d 100'den fazla önek tanımlandı.

memory for units exceeded in line %d 1000'den fazla önek tanımlandı.

memory overflow in unit reduction İstenen dönüşüm çok fazla birim içeriyor (bkz. HATALAR).

redefinition of prefix '%s' on line %d ignored

redefinition of unit '%s' on line %d ignored

unexpected end of prefix on line %d

unexpected end of unit on line %d

Units data file not found Varsayılan birimler dosyası eksik.

unable to enter capability mode Bkz. capsicum(4).

unable to open units file '%s' Kullanıcı tarafından belirtilen birim dosyalarından biri açılamıyor.

unit reduces to zero

unknown unit '%s' Sağlanan birim, birimler dosyasında bulunamıyor.

WARNING: conversion of non-proportional quantities. Birimler orantılı olmadığı için units kaynak birimini hedef birimine dönüştürmede başarısız olabilir. Uyarı, hedef argümanının bir parçası olarak bir miktar belirtildiğinde yazdırılır. Bu durum Fahrenheit'tan Celsius'a dönüşüm örneğiyle gösterilebilir:

$ units "degF" "degC" (-> x0.55555556g -17.777778g) (<- y*1.8g 32g) $ units "degF" "1 degC" WARNING: conversion of non-proportional quantities. (-> x0.55555556g -17.777778g) (<- y*1.8g 32g) $ units "1 degF" "1 degC" WARNING: conversion of non-proportional quantities. -17.222222

Ayrıca Bakınız

bc(1)

Geçmiş

units ilk olarak NetBSD'de ortaya çıktı ve FreeBSD 2.2.0'a port edildi.

Kılavuz sayfası, FreeBSD 13.0'da Mateusz Piotrowski 0mp@FreeBSD.org tarafından önemli ölçüde yeniden yazılmıştır.

Yazarlar

Adrian Mariano adrian@cam.cornell.edu

Hatalar

Bir öneke “/” dahil edilmesinin etkisi şaşırtıcıdır.

Kullanıcı tarafından girilen üsler yalnızca tek haneli olabilir. Birkaç terimi çarparak bu sorunun etrafından dolaşabilirsiniz.

Kullanıcı, sayıların bölündüğünü göstermek için “|” ve sembollerin bölündüğünü göstermek için “/” kullanmalıdır. Bu ayrım gerekli olmamalıdır.

Program, dönüştürülen birimlerin uzunluğu ve veri dosyasının uzunluğu üzerinde çeşitli keyfi sınırlamalar içermektedir.

Programın birimleri saklamak için bir hash tablosu kullanması gerekir, böylece birimler listesini yüklemek ve yinelemeleri kontrol etmek bu kadar uzun sürmez.

Negatif bir değeri dönüştürmek mümkün değildir.

units programı, uzun birim listelerinin indirgenmesini pek iyi yönetemez:

$ units "$(yes m | head -n 154)" "$(yes cm | head -n 154)"

  • 1e+308 / 1e-308 $ units "$(yes m | head -n 333)" "$(yes cm | head -n 333)"
  • inf / 0 $ units "$(yes m | head -n 500)" "$(yes cm | head -n 500)" units: memory overflow in unit reduction conformability error 1 m^500 1 centi cm^499 $ units "$(yes m | head -n 501)" "$(yes cm | head -n 501)" units: memory overflow in unit reduction units: memory overflow in unit reduction units: memory overflow in unit reduction conformability error 1 m^500 1 centi cm^499

macOS 26.4 March 17, 2020 macOS 26.4