指令名稱: nl - 顯示文件的行數及內容 語法: nl [OPTION]... [FILE]... 說明: 將指定文件的內容附加上行數,顯示到標準輸出。 當沒有指定文件名或使用 "-" 符號時,數據將由標準輸入讀入。選項: -b --body-numbering=STYLE 自訂附加的行號樣式(S
指令名稱:
nl - 顯示文件的行數及內容
語法:
nl [OPTION]... [FILE]...
說明:
將指定文件的內容附加上行數,顯示到標準輸出。
當沒有指定文件名或使用 "-" 符號時,數據將由標準輸入讀入。
選項:
-b --body-numbering=STYLE
自訂附加的行號樣式(STYLE)
-d --section-delimiter=CC
使用 CC 字元分辨標頭、內容和腳註
-f --footer-numbering=STYLE
自訂腳註附加的行號樣式(STYLE)
-h --header-numbering=STYLE
自訂標頭附加的行號樣式(STYLE)
-i --page-increment=NUMBER
自訂行的遞增數(NUMBER)
-l --join-blank-lines=NUMBER
指定空白行的合併行數(NUMBER),將 n 行合併成一行。
-n --number-format=FORMAT
指定附加行數的格式(FORMAT)
-p --no-renumber
分頁後不重設行數
-s --number-separator=STRING
插入指定的字元串(STRING)分隔行號和內容
-v --first-page=NUMBER
設定每頁第一行的行數(NUMBER)
-w --number-width=NUMBER
自訂顯示行數的位數(NUMBER)
--help
顯示程式用法信息
--version
顯示程式本身的版本信息
指令預設的選項為 -v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。
在選項說明中所提到的樣式(STYLE)可以是以下其中一個:
a 每一行都加上行號
t 只有非空白的行才加上行號
n 每一行都不加行號
pREGEXP 只有行內容符合正規表示式的才加上行號
在選項里中的格式(FORMAT)可以是以下其中一個:
ln 向左對齊,前面不加零補位
rn 向右對齊,前面不加零補位
rz 向右對齊,前面加零補位
實例說明:
在 cat 指令有個 -n 選項,能為輸出加上行數。但 nl 指令則提供了更多這方面的彈性。
1.加上行數
# cat -n fileA
# nl fileA
以上這兩種方式,都可以為文件 fileA 的顯示,加上需要的行號。
但如果想要讓附加的行數,做左右對齊或者是補零的動作就得依賴 nl 指令來做了。
# nl -n rz fileA
000001 /home
000002 |-- SourceCode
000003 | |-- MySQL
000004 | | |-- filter-requires-mysql.sh
000005 | | |-- my.cnf
.....
#
2.變更行數的遞增值、顯示位數
預設的行數遞增值是1,但這可以改變。選項 -i 可以讓我們做到這一點。
# nl -i 2 fileA
1 /home
3 |-- SourceCode
5 | |-- MySQL
7 | | |-- filter-requires-mysql.sh
9 | | |-- my.cnf
.....
#
3.除了遞增值以外,還有設定顯示行數的位數。也就是 -w 選項,程式的預設值為6。
如果有必要的話,我們可以自行更改。
# nl -n rz -w 3 bb
001 /home
002 |-- SourceCode
003 | |-- MySQL
004 | | |-- filter-requires-mysql.sh
005 | | |-- my.cnf
.....
#
原網站地址:http://blog.chinaunix.net/uid-639516-id-2692145.html
Chocoo
2016.3.8
------------------------------------------------------------------------------------------------------------------------------------------------
Linux新人,歡迎各種指點。
感謝鋒哥指點迷津!