close
cat (concatenate) 瀏覽(列印)檔案內容
指令語法:
cat [OPTION] [FILE]...
參數說明:
- -b:將每一行(不含空白列)附上行號列印出來。相當於 nl 指令。
- -n:將每一行(含空白列)附上行號列印出來。
範例:
[barry@rhel ~]$ cat > file
aaaaaaaaaa
bbbbbbbbbb
CCCCCCCCCC
[barry@rhel ~]$ cat -b file
[barry@rhel ~]$ nl file
[barry@rhel ~]$ cat -n file
[barry@rhel ~]$ tac file
→ 將輸出內容反向做排序。
[root@study ~]# cat [-AbEnTv] 選項與參數: -A :相當於 -vET 的整合選項,可列出一些特殊字符而不是空白而已; -b :列出行號,僅針對非空白行做行號顯示,空白行不標行號! -E :將結尾的斷行字元 $ 顯示出來; -n :列印出行號,連同空白行也會有行號,與 -b 的選項不同; -T :將 [tab] 按鍵以 ^I 顯示出來; -v :列出一些看不出來的特殊字符 範例一:檢閱 /etc/issue 這個檔案的內容 [root@study ~]# cat /etc/issue \S Kernel \r on an \m 範例二:承上題,如果還要加印行號呢? [root@study ~]# cat -n /etc/issue 1 \S 2 Kernel \r on an \m 3 # 所以這個檔案有三行!看到了吧!可以印出行號呢!這對於大檔案要找某個特定的行時,有點用處! # 如果不想要編排空白行的行號,可以使用『cat -b /etc/issue』,自己測試看看: 範例三:將 /etc/man_db.conf 的內容完整的顯示出來(包含特殊字元) [root@study ~]# cat -A /etc/man_db.conf # $ ....(中間省略).... MANPATH_MAP^I/bin^I^I^I/usr/share/man$ MANPATH_MAP^I/usr/bin^I^I/usr/share/man$ MANPATH_MAP^I/sbin^I^I^I/usr/share/man$ MANPATH_MAP^I/usr/sbin^I^I/usr/share/man$ .....(底下省略)..... # 上面的結果限於篇幅,鳥哥刪除掉很多資料了。另外,輸出的結果並不會有特殊字體, # 鳥哥上面的特殊字體是要讓您發現差異點在哪裡就是了。基本上,在一般的環境中, # 使用 [tab] 與空白鍵的效果差不多,都是一堆空白啊!我們無法知道兩者的差別。 # 此時使用 cat -A 就能夠發現那些空白的地方是啥鬼東西了![tab]會以 ^I 表示, # 斷行字元則是以 $ 表示,所以你可以發現每一行後面都是 $
tac (反向列示)
[root@study ~]# tac /etc/issue Kernel \r on an \m \S # 嘿嘿!與剛剛上面的範例一比較,是由最後一行先顯示喔! |
tac 這個好玩了!怎麼說呢?詳細的看一下, cat 與 tac ,有沒有發現呀?
對啦! tac 剛好是將 cat 反寫過來,所以他的功能就跟 cat 相反啦,
cat 是由『第一行到最後一行連續顯示在螢幕上』,
而 tac 則是『 由最後一行到第一行反向在螢幕上顯示出來 』,很好玩吧!
nl (添加行號列印)
[root@study ~]# nl [-bnw] 檔案 選項與參數: -b :指定行號指定的方式,主要有兩種: -b a :表示不論是否為空行,也同樣列出行號(類似 cat -n); -b t :如果有空行,空的那一行不要列出行號(預設值); -n :列出行號表示的方法,主要有三種: -n ln :行號在螢幕的最左方顯示; -n rn :行號在自己欄位的最右方顯示,且不加 0 ; -n rz :行號在自己欄位的最右方顯示,且加 0 ; -w :行號欄位的佔用的字元數。 範例一:用 nl 列出 /etc/issue 的內容 [root@study ~]# nl /etc/issue 1 \S 2 Kernel \r on an \m # 注意看,這個檔案其實有三行,第三行為空白(沒有任何字元), # 因為他是空白行,所以 nl 不會加上行號喔!如果確定要加上行號,可以這樣做: [root@study ~]# nl -b a /etc/issue 1 \S 2 Kernel \r on an \m 3 # 呵呵!行號加上來囉~那麼如果要讓行號前面自動補上 0 呢?可這樣 [root@study ~]# nl -b a -n rz /etc/issue 000001 \S 000002 Kernel \r on an \m 000003 # 嘿嘿!自動在自己欄位的地方補上 0 了~預設欄位是六位數,如果想要改成 3 位數? [root@study ~]# nl -b a -n rz -w 3 /etc/issue 001 \S 002 Kernel \r on an \m 003 # 變成僅有 3 位數囉~ |
nl 可以將輸出的檔案內容自動的加上行號!
其預設的結果與 cat -n 有點不太一樣, nl 可以將行號做比較多的顯示設計,包括位數與是否自動補齊 0 等等的功能呢。
文章標籤
全站熱搜
留言列表