nl命令很好,很強大,nl命令很好
指令名稱:
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新人,歡迎各種指點。
感謝鋒哥指點迷津!