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 edilentypeargü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ürn'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ürn'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ılannumdeğeri 1'dir.-n format: Satır numaralandırma çıktı biçimini belirtir. Kabul edilenformatargü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ılansepayarı 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ılanstartnumdeğ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