cat
命令可以將檔案內容輸出在輸出端,或者將多個檔案合併輸出到輸出端。
語法
cat [OPTION]... [FILE]...
複製程式碼
可使用的option值可以通過 man cat
命令查閱,這裡不再贅述。
示例
假設你在當前目錄下有兩個檔案a.txt和b.txt。
// a.txt
a
aa
aaa
複製程式碼
// b.txt
b
bb
bbb
複製程式碼
例1 在終端上列印a.txt的內容。
[work@10-13-22 ant]$ cat a.txt
a
aa
aaa
複製程式碼
可以看到a.txt
檔案的內容全部輸出到了終端上。
例2 合併輸出多檔案內容
有些場景,我們可能需要一次將多個檔案一塊輸出到終端上進行對比檢視,減少多個檔案之間的切換。
[work@10-13-22 ant]$ cat a.txt b.txt
a
aa
aaa
b
bb
bbb
複製程式碼
這個例子中,我們同時將a
和b
中的內容一塊按照順序進行輸出。cat
命令可以同時指定多個檔案。
例3 將多個檔案內容合併儲存到新檔案
[work@10-13-22 ant]$ cat a.txt b.txt > c.txt
[work@10-13-22 ant]$ cat c.txt
a
aa
aaa
b
bb
bbb
複製程式碼
本示例中,我們將a
和b
兩個檔案內容合併後,沒有直接在終端輸出,而是輸出到了c.txt
。
注:輸出至已存在的檔案,會覆蓋原有的內容。
例3 新增行號
[work@10-13-22 ant]$ cat -n a.txt
1 a
2 aa
3 aaa
複製程式碼
通過使用 -n
選項,為輸出的內容新增行號,使內容的可讀性更強。
例3 新增行號
當檔案中存在大量連續的空行時,很影響檢視。使用 -s
選項可以將2行以上的空行合併為1行輸出。
為了方便演示,我們在 a.txt
中插入一些空行。
// a.txt
a
aa
aaa
複製程式碼
為了便於進行對比,先不合並空行:
[work@10-13-22 ant]$ cat -n a.txt
1 a
2
3
4
5 aa
6
7
8 aaa
複製程式碼
加上-s
選項:
[work@10-13-22 ant]$ cat -sn a.txt
1 a
2
3 aa
4
5 aaa
複製程式碼
可以看到原來的多空行全部合併為了一個空行。