linux命令之查看文件內容加上行號-nl

在linux下cat命令能夠查看文件內容,不過有時候咱們須要在前面加上行號,看起來更方便,nl命令就有這個功能。html

好比查看一個sh腳本:linux


$ cat print-printf.sh 
#!/bin/bash

echo $0 $1
if [ $1x == 1x ]; then
    echo "printf"
    awk '{for(i=1;i<5;i++){printf($i"\t")}}' test.txt
else
    echo "print"
    awk '{for(i=1;i<5;i++){print($i"\t")}}' test.txt
fi
$ nl -n ln print-printf.sh 
1         #!/bin/bash
       
2         echo $0 $1
3         if [ $1x == 1x ]; then
4             echo "printf"
5             awk '{for(i=1;i<5;i++){printf($i"\t")}}' test.txt
6         else
7             echo "print"
8             awk '{for(i=1;i<5;i++){print($i"\t")}}' test.txt
9         fi

在shell終端輸入nl --help查看其餘的選項:

$ nl --help
用法:nl [選項]... [文件]...
Write each FILE to standard output, with line numbers added.

若是沒有指定文件,或者文件爲"-",則從標準輸入讀取。

必選參數對長短選項同時適用。
  -b, --body-numbering=樣式	使用指定樣式編號文件的正文行目
  -d, --section-delimiter=CC	使用指定的CC 分割邏輯頁數
  -f, --footer-numbering=樣式	使用指定樣式編號文件的頁腳行目
  -h, --header-numbering=樣式	使用指定樣式編號文件的頁眉行目
  -i, --page-increment=數值	設置每一行遍歷後的自動遞增值
  -l, --join-blank-lines=數值	設置數值爲多少的若干空行被視做一行
  -n, --number-format=格式	根據指定格式插入行號
  -p, --no-renumber		在邏輯頁數切換時不將行號值復位
  -s, --number-separator=字符串	可能的話在行號後添加字符串
  -v, --starting-line-number=數字	每一個邏輯頁上的第一行的行號
  -w, --number-width=數字	爲行號使用指定的欄數
      --help		顯示此幫助信息並退出
      --version		顯示版本信息並退出

默認的選項設置是-v1 -i1 -l1 -sTAB -w6 -nrn -hn -bt -fn。CC 是用於分隔
邏輯頁數的兩個分界符,其中缺失的第二個字符暗含了":",若是您要指定"\",
請輸入"\\"。可用的樣式以下:

  a	對全部行編號
  t	對非空行編號
  n	不編行號
  pBRE	只對符合正則表達式BRE 的行編號

FORMAT 是下列之一:

  ln	左對齊,空格不用0 填充
  rn 	右對齊,空格不用0 填充
  rz 	右對齊,空格用0 填充


GNU coreutils online help: <http://www.gnu.org/software/coreutils/>
請向<http://translationproject.org/team/zh_CN.html> 報告nl 的翻譯錯誤
Full documentation at: <http://www.gnu.org/software/coreutils/nl>
or available locally via: info '(coreutils) nl invocation'