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

每天一個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 則是由最後一行到第一行反向在螢幕上顯示出來!

 

發表迴響

你的電子郵件位址並不會被公開。 必要欄位標記為 *