複製鏈接
請複製以下鏈接發送給好友

NL

(LINUX命令)

鎖定
NL是一個LINUX命令,可以為輸出列加上編號,也是編號過濾工具。
中文名
NL
工    具
編號過濾
用    途
計算文件中行號
定    義
制定它下好編號的輸出
語    法
nl [ -b Type ]

目錄

NL含義

nl 是一個簡單但很好用的編號過濾工具,我在輸入的地方下了參數,讓所有行列的編碼皆靠左,nl 提供了非常多的參數使用,可以定義到很細很細的程序來制定它下好編號的輸出,下面是一些參數以及使用的範例説明
nl 命令

NL用途

計算文件中行號。

NL語法

nl [ -b Type ] [ -f Type ] [ -h Type ] [ -l Number ] [ -d Delimiter ] [ -i Number ] [ -n Format ] [ -v Number ] [ -w Number ] [ -p ] [ -s Separator ] [ File ]

NL描述

nl 命令讀取 File 參數(缺省情況下標準輸入),計算輸入中的行號,把計算過的行號寫入標準輸出。在輸出中,nl 命令根據您在命令行中指定的標誌來計算左邊的行。
輸入文本必須寫在邏輯頁中。每個邏輯頁有頭、主體和頁腳節(可以有空節)。除非使用 -p 標誌, nl 命令在每個邏輯頁開始的地方重新設置行號。可以單獨為頭、主體和頁腳節設置行計算標誌(例如,頭和頁腳行可以被計算然而文本行不能)。
用信號通知只包含下列定界符的文件中行的邏輯頁節的開始:
行內容 哪一節的開始
\:\:\: 頭
\:\: 主體
在命令行上只能命名一個文件。可以以任何順序列出標誌和文件名。
標誌
所有參數都用缺省值來設置。使用下列標誌更改缺省設置。除 -s 標誌外,請輸入不帶變量的 -n 標誌來查看它的缺省值。
-b Type 選擇主體節的行來計算。對 Type 變量的認可的值是:
a
計算所有行
t
不計算空行或包含任何非圖形符號如包含 tab 的行。(缺省)
n
不計算任何行
pPattern
只計算那些被 Pattern 變量指定的行。
-d Delimiter 使用 Delimiter 變量指定的兩個字符作為邏輯頁節開始的定界符。缺省字符是 \:(反斜槓冒號)。您可指定兩個 ASCII 字符,兩個 1 字節擴展字符或一個擴展字符。如果您在 -d 標誌後只輸入了一個 1 字節字符,第二個字符維持缺省值(冒號)。如果您想使用反斜槓作為定界符,請輸入兩個反斜槓 ( \\ )。
-f Type 選擇邏輯頁頁腳的行來計算。Type 變量的可能的值和 -b 標誌的可能值相同。Type 變量的缺省值是 n(沒有行被計算)。
-h Type 選擇邏輯頁頭的行來計算。Type 變量的可能的值和 -b 標誌的可能的值相同。Type 變量的缺省值是 n (沒有行被計算)。
-i Number 邏輯頁行號增加 Number 變量指定的數目。Number 變量的缺省值是 1。Number 變量的範圍是從 1 到 250。
-l Number (小寫字母 l)使用在 Number 參數中指定的值作為計算為一的空行數。例如,-l3 一系列中每三個空行計一次數。Number 變量的缺省值是 1。當設置了 -ha、-ba 或 -fa 選項該標誌起作用。Number 變量的範圍是從 1 到 250。
-n Format 使用 Format 變量的值作為行計算格式。認可的格式是:
ln
左對齊,前導零不計
rn
右對齊,前導零不計(缺省)
rz
右對齊,前導零保留
-p 在邏輯定界符處不重新開始計算。
-s Separator 用在 Separator 變量中指定的字符將文本和行號分隔開。Separator 變量的缺省值製表符(tab)。
-v Number 設置初始邏輯頁行號為在 Number 變量中指定的值。Number 變量的缺省值是 1。Number 變量的範圍是從 0 到 32767。
-w Number 使用通過 Number 變量指定的值作為行號中字符的數量。 Number 變量的缺省值是 6。Number 變量的範圍是從 1 到 20。
退出狀態
該命令返回下列出口值:
0 成功完成。
>0 發生錯誤。

NL示例

1. 只計算無空格行,請輸入:
nl chap1
這個顯示 chap1 的計算列表,只計算了主體節中非空行。如果 chap1 沒有包含 \:\:\+:,或 \: 定界符,那麼整個文件被認為主體。
2. 要計算所有行:
nl -ba chap1
這計算主體節的所有行,包括空行。 nl 命令的這種格式對大部分使用是適用的。
3. 指定不同的行號格式,請輸入:
nl -i10 -nrz -s:: -v10 -w4 chap1
這個計算以 10 ( -v10)開頭並且以 10 (-i10)統計的 chap1 的行。它為每個數顯示 4 個數字(-w4),包括引導零(-nrz)。行號被兩個冒號(-s : :)從文本中分離。
例如,如果 chap1 包含文本:
A not-so-important not to remember:
You can't kill time
without injuring eternity.
那麼計算列表是:
0010::A not-so-important
0020::note to remember
0030::You can't kill time
0040::without injuring eternity.
注意沒有計算空行。為了這樣做,像示例 2 顯示的一樣使用 -ba 標誌。
文件
/usr/bin/nl 包含 nl 命令。
相關信息
在《AIX 5L V5.2 系統用户指南:操作系統與設備》中的 Files 和 Input and Output Redirection。
範例:
# (1) Display the first 4 entries of the password
# file - numbers to be three columns wide and
# padded by zeros.
$ head -4 /etc/passwd | nl -nrz -w3
001 root:x:0:1:Super-User:/:/bin/ksh
002 daemon:x:1:1::/:
003 bin:x:2:2::/usr/bin:
004 sys:x:3:3::/:
#
# (2) Prepend ordered line numbers followed by an
# '=' sign to each line -- start at 101.
$ nl -s= -v101 Data.txt
101=1st Line ...
102=2nd Line ...
103=3rd Line ...
104=4th Line ...
105=5th Line ...
.......