cat命令,通常用於讀取、顯示和拼接檔案內容,但是它的能力遠遠不僅於此。
例如:如何用一行命令將來自標準輸入以及檔案的資料給組合起來。
通常做法:將stdin重定向到乙個檔案,然後再將兩個檔案組合到一起。
不過,cat命令可以一次性搞定。
一、實戰演練
cat表示concatence(拼接)。
用cat讀取檔案內容的一般寫法是:
$cat file1 file2 file3…
這個命令將作為命令列引數的檔案內容拼接一起。
1、列印單個檔案的內容*
$cat file.txt
this is a line inside file.txt
2、列印多個檔案的內容*
$cat one.txt two.txt
this is line from one.txt
this is line from two.txt
二、工作原理
cat命令不僅可以讀取檔案、拼接資料,還能夠從標準輸入中進行讀取。
從標準輸入中讀取需要使用管道操作符
output_from_som commands | cat
類似的,我們可以用cat將來自輸入檔案的內容與標準輸入拼接在一起,將stdin和另乙個檔案的資料結合起來。方法如下:
$ ehco 『text through stdin』 | cat - file.txt
在上面的**中,-被作為stdin文字的檔名
三、補充內容
cat命令還有其他功能
1、擺脫多餘的空白行
$cat -s file
例如:$cat multi_blanks.txt
line1
line2
line3
line4
$ cat -s multi_blanks.txt #壓縮相鄰的空白行
line1
line2
line3
line4
2、將製表符顯示 ^i
在用python編寫程式時,用於**縮排的製表符以及空格都是具有特殊含義的。不能混用。
cat有乙個特性,就可以將製表符著重標記出來。該特性對排除縮排錯誤非常非常有用。
用cat -t 可以將製表符標記為 ^t。
$cat file.py
$cat -t file.py
3、行號
使用cat命令的-n選項會在輸出的每一行內容之前加上行號。
$cat lines.txt
line
line
line
$cat -n lines.txt
1 line
2 line
3 line
ps:-n甚至會為空白行加上行號。如果想跳過空白行,可以使用 -b
如何利用dd和cat做檔案拼接
在做u boot時常常需要把幾塊檔案按一定的格式拼接成新的可執行檔案,這是可以利用dd和cat來完成。dd if u boot.bin of fb1 bs 1 count 64 dd if 1 of fb2 bs 4096 conv sync dd if u boot.bin of fb3 bs 1...
用cat 統計apache 日誌ip
現有一段apache的日誌,需要從日誌中提取出訪問量最大的ip。使用shell實現。日誌如下 只是舉例,故資料量較小 1.要提取訪問量最大的ip,需要先從日誌中把ip段提取出來。cat aa.txt awk f 127.0.0.1 192.168.1.100 192.168.1.100 192.16...
用map實現sql拼接
今天在寫二維報表 某列的內容隨著帳號不同會變化 的時候想到了sql拼接。首先你需要在你的實體類中定義乙個map集合,看jeesit的原始碼它是把這個屬性定義在基類中,乙個意思,然後通過這個類的屬性去獲取就行了,下面的 有些麻煩,通過上面這句話你可以寫出你想要的拼接。大概是這樣定義的 baseenti...