cat:查看文件的內容、連接文件、創建一個或多個文件和重定向輸出到終端或文件 用法:cat [選項] [文件]
1. $ cat hello.txt
顯示hello.txt文本文件中的內容
2. $ cat -n file
-n選項,可以顯示文件的內容和行號
3. $ cat -b file
-b選項,與-n類似,但只標識非空白行的行號(空白行仍顯示)
4. $ cat -e file
-e選項,將在每一行的末尾顯示“$”字符,在需要將多行內容轉換成一行時非常有用。
5. $ cat
只輸入cat命令的話,它只是接收標準輸入的內容并在標準輸出中顯示,所以在輸入一行并按回車后會在接下來的一行顯示相同的內容。
如:$ cat
hello world!
hello world!
$
重定向的話:
$ cat >hello
hello world!
(ctrl+D組合鍵退出,輸入的內容 hello world! 會寫入到文件hello中)
$ cat hello
hello world!
$
重定向操作符有兩個: >和>>,前者是內容覆蓋,后者是在文件的最后追加。
6. 連接多個文件的內容到一個新文件
$ cat test test1 > test2
$ cat test2
結果將顯示test和test1中的內容。
以下是詳解
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
輸出:
?
?
說明:
?
?
實例二:把 log2012.log 和 log2013.log 的文件內容加上行號(空白行不加)之后將內容附加到 log.log 里。
命令:
cat -b log2012.log log2013.log log.log
輸出:
?
3 ======
4 2013-01
5 2013-02
6 2013-03
7 ======[root@localhost test]#
?
實例三:把 log2012.log 的文件內容加上行號后輸入 log.log 這個文件里
命令:
輸出:
?
?
實例四:使用here doc來生成文件
輸出:
?
?
說明:
注意粗體部分,here doc可以進行字符串替換。
備注:
tac (反向列示)
命令:
tac log.txt
輸出:
?
?
說明:
tac 是將 cat 反寫過來,所以他的功能就跟 cat 相反, cat 是由第一行到最后一行連續顯示在螢幕上,而 tac 則是由最后一行到第一行反向在螢幕上顯示出來!
注:在awk命令之后,沒有太多復雜命令,都是一些基礎命令。
說明:
cat,是單詞 concatenate 的縮寫, 把文件的內容輸出到stdout.當與重定向操作符 (> 或
>>結合使用時, 一般都是用來將多個文件連接起來.
用法:
1. $cat file1 file2 file3
2. 不僅可以從文件中讀取內容并且拼接,還能從標準輸入流中讀取
例如:$echo 'some content' |? cat - file.txt
解釋:這里的 - 就代表了 'some content' 的臨時文件,也就是輸入流
實例:
1. $cat cat.txt
打印了cat.txt的所有內容
2.$cat cat.txt | less
查看cat.txt, 加入less以后一頁一屏幕,具體再以后less,more命令中介紹
3.$cat -n cat.txt
每行前標注行號,包括空白行
4.$cat -b cat.txt
非空白行前標注行號
解讀--help
用法:cat [選項]... [文件]...
將[文件]或標準輸入組合輸出到標準輸出。
? -A, --show-all?????????? 等于-vET
?? -b, --number-nonblank??? 對非空輸出行編號
? -e?????????????????????? 等于-vE
?? -E, --show-ends????????? 在每行結束處顯示"$"
?? -n, --number???????????? 對輸出的所有行編號
? -s, --squeeze-blank????? 不輸出多行空行
? -t?????????????????????? 與-vT 等價
? -T, --show-tabs????????? 將跳格字符顯示為^I
?? -u?????????????????????? (被忽略)
?? -v, --show-nonprinting?? 使用^ 和M- 引用,除了LFD和 TAB 之外
????? --help??????? 顯示此幫助信息并退出
????? --version??????? 顯示版本信息并退出
如果沒有指定文件,或者文件為"-",則從標準輸入讀取。
示例:
? cat f - g? 先輸出f 的內容,然后輸出標準輸入的內容,最后輸出g 的內容。
? cat??????? 將標準輸入的內容復制到標準輸出。
解讀:
1. cat –s file.txt
如果有一個文件有這樣的格式:
?line1
#空行
line2 file2
用到這個命令
cat更多與其他命令結合,自身沒有太復雜的內容,要是無聊,試試cat –A cat.txt,會有難忘的回憶。
?相關命令:
cat的親家一般是sed,tr這種命令
如:
$cat file|sed 's/old/new/g'
顯示file文件,并且將old 轉換成new,不修改原文件
簡略版:
cat 是一個文本文件查看和連接工具。查看一個文件的內容,用cat比較簡單,就是cat 后面直接接文件名。
比如:
為了便于新手弟兄靈活掌握這個工具,我們多說一點常用的參數;
1.0 cat 語法結構;
選項-A, --show-all 等價于 -vET-b, --number-nonblank 對非空輸出行編號-e 等價于 -vE-E, --show-ends 在每行結束處顯示 $-n, --number 對輸出的所有行編號-s, --squeeze-blank 不輸出多行空行-t 與 -vT 等價-T, --show-tabs 將跳 字符顯示為 ^I-u (被忽略)-v, --show-nonprinting 使用 ^ 和 M- 引用,除了 LFD 和 TAB 之外--help 顯示此幫助信息并離開
1.1 cat 查看文件內容實例;
cat 加參數-n 和nl工具差不多,文件內容輸出的同時,都會在每行前面加上行號;
cat 可以同時顯示多個文件的內容,比如我們可以在一個cat命令上同時顯示兩個文件的內容;
cat 對于內容極大的文件來說,可以通過管道|傳送到more 工具,然后一頁一頁的查看;
1.2 cat 的創建、連接文件功能實例;
cat 有創建文件的功能,創建文件后,要以EOF或STOP結束;
cat 還有向已存在的文件追加內容的功能;
假設我們有sir01.txt、sir02.tx和sir03.txt ,并且內容如下;
我想通過cat 把sir01.txt、sir02.txt及sir03.txt 三個文件連接在一起(也就是說把這三個文件的內容都接在一起)并輸出到一個新的文件sir04.txt 中。
注意:其原理是把三個文件的內容連接起來,然后創建sir04.txt文件,并且把幾個文件的內容同時寫入sir04.txt中。特別值得一提的是,如果您輸入到一個已經存在的sir04.txt 文件,會把sir04.txt內容清空。
cat 把一個或多個已存在的文件內容,追加到一個已存在的文件中
警告:我們要知道>意思是創建,>>是追加。千萬不要弄混了。造成失誤可不是鬧著玩的;
新聞熱點
疑難解答