man/text
man · Metin İşleme

$ fmt

Bölüm 1 · Metin İşleme

basit metin biçimlendirici

Özet

fmt [-cmnps] [-d karakterler] [-l sayı] [-t sayı] [hedef [maksimum] | -genişlik | -w genişlik] [dosya ...]

Açıklama

fmt, girdi dosyalarının birleşimini veya dosya verilmemişse standart girdiyi okur ve standart çıktıda, girdisinin hedef uzunluğa mümkün olduğunca yakın satırlardan oluşan bir sürümünü üretir. Üretilen satırlar maksimum sınırı aşmaz.

Hedef uzunluk varsayılan olarak 65 değeridir. Maksimum uzunluk, hedef uzunluktan 10 fazladır.

Alternatif olarak, önüne kısa çizgi eklenerek veya -w kullanılarak tek bir genişlik parametresi belirtilebilir. Örneğin fmt -w 72, fmt -72 ve fmt 72 72 komutlarının tümü aynı çıktıyı üretir.

Girdi satırlarının başındaki boşluklar, boş satırlar ve kelimeler arası boşluklar çıktıda korunur. Satırlar yalnızca boşluk karakterlerinden birleştirilir veya bölünür; kelimeler asla birleştirilmez veya tirelenmez.

fmt, gönderilmeden önce e-posta iletilerini biçimlendirmek için tasarlanmıştır, ancak başka basit görevler için de yararlı olabilir.

Seçenekler

  • -c: Metni satır satır ortalar. Bu durumda diğer seçeneklerin çoğu yoksayılır; satırların bölünmesi veya birleştirilmesi yapılmaz.
  • -m: Girdide yer alan e-posta başlık satırlarını mantıklı şekilde biçimlendirmeye çalışır.
  • -n: Nokta (.) karakteriyle başlayan satırları biçimlendirir.
  • -p: Girintili paragraflara izin verir. -p bayrağı olmadığında, satır başındaki boşluk miktarındaki herhangi bir değişiklik yeni paragraf başlangıcı olarak kabul edilir.
  • -s: Satırların içindeki boşlukları daraltır; birden fazla boşluk karakterini tek boşluğa, cümle sonunda ise çift boşluğa dönüştürür.
  • -d karakterler: Belirtilen karakterleri ve yalnızca onları cümle bitiş karakterleri olarak işler. Varsayılan cümle bitiş karakterleri nokta (.), soru işareti (?) ve ünlem işaretidir (!). Bazı karakterlerin kabuktan korunması için kaçış karakterleriyle kullanılması gerekebilir.
  • -l sayı: Mümkünse her çıktı satırının başında birden fazla boşluğu sekmelerle değiştirir. Her sayı kadar boşluk bir sekmeyle değiştirilir. Varsayılan değer 8 şeklindedir. sayı 0 ise boşluklar korunur.
  • -t sayı: Girdi dosyalarındaki sekmelerin, sekme durağı başına sayı kadar boşluk varsaydığını kabul eder. Varsayılan değer 8 şeklindedir.

Kullanım Notu

ex(1) veya vi(1) görsel modu içinde şu komut bir paragrafı yeniden biçimlendirerek satırları eşitler:

!}fmt

Ortam

LANG, LC_ALL ve LC_CTYPE ortam değişkenleri, environ(7) sayfasında açıklandığı gibi fmt yürütülmesini etkiler.

Örnekler

Standart girdideki metni ortalamak:

echo -e 'The merit of all things\nlies\nin their difficulty' | fmt -c

Örnek çıktı:

            The merit of all things
                      lies
              in their difficulty

Standart girdideki metni boşlukları daraltarak biçimlendirmek:

echo -e 'Multiple	 spaces    will be collapsed' | fmt -s

Örnek çıktı:

Multiple spaces will be collapsed

Ayrıca Bakınız

fold(1), mail(1)

Tarihçe

fmt komutu 3BSD sürümünde ortaya çıkmıştır.

Burada açıklanan sürüm tamamen yeniden yazılmıştır ve FreeBSD 4.4 sürümünde ortaya çıkmıştır.

Yazarlar

  • Kurt Shoens
  • Liz Allen, hedef uzunluk konseptini ekledi.
  • Gareth McCaughan

Hatalar

Program basit ve hızlı olacak şekilde tasarlanmıştır; daha karmaşık işlemler için standart metin işlemcileri muhtemelen daha uygundur.

Girintili bir paragrafın ilk satırı çok uzun olduğunda, yani hedef uzunluğun yaklaşık iki katından fazla olduğunda, çıktıdaki girinti yanlış olabilir.

fmt, hangi satırların e-posta başlığı olduğunu ve hangilerinin olmadığını tahmin etmede her zaman hatasız değildir.