2013年8月30日 星期五

每天一個Linux指令- cat (連接檔或標準輸入並列印)

每天一個Linux指令- cat (連接檔或標準輸入並列印)



拷貝來源:


01.http://www.cnblogs.com/peida/archive/2012/12/05/2803591.html


02.http://www.cnblogs.com/peida/archive/2012/10/30/2746968.html


cat命令的用途是連接檔標準輸入並列印。這個命令常用來顯示檔內容,或者將幾個檔連接起來顯示,或者從標準輸入讀取內容並顯示,它常與重定向符號配合使用。 


1命令格式:


cat [選項] [檔]...


2命令功能:


cat主要有三大功能


1.一次顯示整個檔:cat filename


2.從鍵盤創建一個檔:cat > filename 只能創建新檔,不能編輯已有檔.


3.幾個檔合併為一個檔:cat file1 file2 > file


3命令參數:


-A, --show-all           等價於 -vET


-b, --number-nonblank    對非空輸出行編號


-e                       等價於 -vE


-E, --show-ends          在每行結束處顯示 $


-n, --number     對輸出的所有行編號,由1開始對所有輸出的行數編號


-s, --squeeze-blank  有連續兩行以上的空白行,就代換為一行的空白行 


-t                       與 -vT 等價


-T, --show-tabs          將跳格字元顯示為 ^I


-u                       (被忽略)


-v, --show-nonprinting   使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外


4使用實例:


實例一:把 log2012.log 的檔內容加上行號後輸入 log2013.log 這個檔裏


命令


cat -n log2012.log log2013.log 


輸出


[root@localhost test]# cat log2012.log 


2012-01


2012-02


======[root@localhost test]# cat log2013.log 


2013-01


2013-02


2013-03


======[root@localhost test]# cat -n log2012.log log2013.log 


     1  2012-01


     2  2012-02


     3


     4


     5  ======


     6  2013-01


     7  2013-02


     8


     9


    10  2013-03


    11  ======[root@localhost test]#


說明


實例二 log2012.log  log2013.log 的檔內容加上行號空白行不加之後將內容附加 log.log 裏。 


命令


cat -b log2012.log log2013.log log.log


輸出


[root@localhost test]# cat -b log2012.log log2013.log log.log


     1  2012-01


     2  2012-02


     3  ======


     4  2013-01


     5  2013-02


     6  2013-03


     7  ======[root@localhost test]#


實例三 log2012.log 的檔內容加上行號後輸入 log.log 這個檔裏 


命令cat -n log2012.log > log.log


輸出


[root@localhost test]# cat log.log 


[root@localhost test]# cat -n log2012.log > log.log


[root@localhost test]# cat -n log.log 


     1  2012-01


     2  2012-02


     3


     4


     5  ======


[root@localhost test]#


實例四使用here doc來生成檔


輸出


[root@localhost test]# cat >log.txt <<EOF


> Hello


> World


> Linux


> PWD=$(pwd)


> EOF


[root@localhost test]# ls -l log.txt 


-rw-r--r-- 1 root root 37 10-28 17:07 log.txt


[root@localhost test]# cat log.txt 


Hello


World


Linux


PWD=/opt/soft/test


[root@localhost test]#


說明:


注意粗體部分,here doc可以進行字串替換。


備註


tac (反向列示)


命令:


tac log.txt


輸出:


[root@localhost test]# tac log.txt 


PWD=/opt/soft/test


Linux


World


Hello


說明:


tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最後一行連續顯示在螢幕上,而 tac 則是由最後一行到第一行反向在螢幕上顯示出來!


 


沒有留言:

張貼留言