← man/text
nl — man nl — 80×24
ugur@toprak:~/man/text$man nl
Bölüm 1 Metin İşleme

nl

satır numaralandırma filtresi

Sözdizimi

      nl [-p] [-b type] [-d delim] [-f type] [-h type] [-i incr] [-l num] [-n format] [-s sep]
	[-v startnum] [-w width] [file]

Açıklama

nl yardımcı programı, belirtilen dosyadan satırları okur, yapılandırılabilir bir satır numaralandırma filtresi işlemi uygular ve sonucu standart çıktıya yazar. Eğer dosya tek bir tire ('-') ise veya belirtilmemişse, nl standart girdiden okur.

nl yardımcı programı, okuduğu metni mantıksal sayfalar açısından ele alır. Aksi belirtilmedikçe, her mantıksal sayfanın başlangıcında satır numaralandırması sıfırlanır. Mantıksal bir sayfa; bir başlık (header), bir gövde (body) ve bir altbilgi (footer) bölümünden oluşur; boş bölümler geçerlidir. Başlık, gövde ve altbilgi bölümleri için farklı satır numaralandırma seçenekleri bağımsız olarak kullanılabilir.

Mantıksal sayfa bölümlerinin başlangıçları, yalnızca aşağıdaki sınırlayıcı karakter dizilerinden birini içeren girdi satırlarıyla belirtilir:

Satır Başlangıcı ::: başlık (header) :: gövde (body) : altbilgi (footer)

Eğer girdi herhangi bir mantıksal sayfa bölümü belirten yönerge içermiyorsa, okunan metnin tek bir mantıksal sayfa gövdesinden oluştuğu varsayılır.

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

  • -b type: Numaralandırılacak mantıksal sayfa gövde satırlarını belirtir. Kabul edilen type argümanları şunlardır:

a Tüm satırları numaralandırır.

t Yalnızca boş olmayan satırları numaralandırır.

n Satır numaralandırması yapılmaz.

pexpr Yalnızca expr ile belirtilen temel düzenli ifadeyi (basic regular expression) içeren satırları numaralandırır.

Mantıksal sayfa gövde satırları için varsayılan tür t'dir.

  • -d delim: Girdi dosyasındaki bir mantıksal sayfa bölümünün başlangıcını belirtmek için kullanılan sınırlayıcı karakterleri belirtir. En fazla iki karakter belirtilebilir; yalnızca tek bir karakter belirtilirse, ilk karakter değiştirilir ve ikinci karakter değişmeden kalır. Varsayılan sınırlayıcı karakterler ":" dir.

  • -f type: Mantıksal sayfa altbilgi (footer) satırları için -b type ile aynı işlevi belirtir. Mantıksal sayfa altbilgi satırları için varsayılan tür n'dir.

  • -h type: Mantıksal sayfa başlık (header) satırları için -b type ile aynı işlevi belirtir. Mantıksal sayfa başlık satırları için varsayılan tür n'dir.

  • -i incr: Mantıksal sayfa satırlarını numaralandırmak için kullanılan artış değerini belirtir. Varsayılan artış (incr) değeri 1'dir.

  • -l num: İlgili -b a, -f a veya -h a seçeneği kullanılarak mevcut mantıksal bölüm için tüm satırların numaralandırılması belirtilmişse, tek bir satır olarak kabul edilecek ardışık boş satırların sayısını belirtir. Örneğin, -l 2 kullanılması, yalnızca ardışık ikinci boş satırın numaralandırılmasıyla sonuçlanır. Varsayılan num değeri 1'dir.

  • -n format: Satır numaralandırma çıktı biçimini belirtir. Kabul edilen format argümanları şunlardır: ln Sola dayalı.

rn Sağa dayalı, baştaki sıfırlar bastırılmış (yazdırılmaz). rz Sağa dayalı, baştaki sıfırlar korunur.

Varsayılan biçim rn'dir.

  • -p: Mantıksal sayfa sınırlayıcılarında satır numaralandırmasının yeniden başlatılmaması gerektiğini belirtir.

  • -s sep: Satır numarası ile ilgili metin satırını ayırmada kullanılan karakterleri belirtir. Varsayılan sep ayarı tek bir sekme (tab) karakteridir.

  • -v startnum: Mantıksal sayfa satırlarını numaralandırmak için kullanılan başlangıç değerini belirtir; ayrıca -p seçeneğinin açıklamasına da bakın. Varsayılan startnum değeri 1'dir.

  • -w width: Satır numarasının kaplayacağı karakter sayısını belirtir; genişliğin satır numarasını tutmak için yetersiz kalması durumunda, satır numarası en az önemli hanelerinden genişliğine kadar kırpılacaktır. Varsayılan genişlik 6'dır.

Ortam

LANG, LC_ALL, LC_CTYPE ve LC_COLLATE ortam değişkenleri, nl'nin çalışmasını environ(7) belgesinde açıklandığı şekilde etkiler.

Çıkış Durumu

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

Örnekler

     Boş olmayan tüm satırları numaralandırın:

	   $ echo -e "This is\n\n\na simple text" | nl
		1  This is

		2  a simple text

     Ardışık boş satırlar da dahil olmak üzere tüm satırları, 2'den başlayarak, 2'şer artışla ve baştaki sıfırlar korunmuş şekilde sağa dayalı satır numaralarıyla ve özel çok karakterli bir sınırlayıcıyla numaralandırın:

	   $ echo -e "This\nis\nan\n\n\nexample" | nl -ba -n rz -i2 -s "->" -v2
	   000002->This
	   000004->is
	   000006->an
	   000008->
	   000010->
	   000012->example

     Bir 'i' harfini takip eden 'm' veya 'n' harfleri için düzenli ifadeyle eşleşen satırları numaralandırın:

	   $ echo -e "This is\na simple text\nwith multiple\nlines" | nl -bp'i[mn]'
		   This is
		1  a simple text
		   with multiple
		2  lines

Ayrıca Bakınız

jot(1), pr(1)

Standartlar

nl yardımcı programı IEEE Std 1003.1-2001 ("POSIX.1") standardına uygundur.

Tarihçe

nl yardımcı programı ilk olarak AT&T System V Release 2 UNIX'te ortaya çıkmıştır.

Hatalar

Girdi satırlarının uzunluğu LINE_MAX (2048) bayt ile sınırlıdır.

macOS 26.4 18 Haziran 2020 macOS 26.4